Odstraněnní ikonek v TinyMCE jen u příspěvků

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Odstraněnní ikonek v TinyMCE jen u příspěvků

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 3 roky, 10 měsíců.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #25858

    mil667
    Participant

    Používám tento kód pro odstranění ikonek v TinyMCE a potřebuji poradit jak jej mám upravit aby se vybraná ikonka odstranila jen u příspěvků a u stránek zůstala viditelná. Díky.

    function remove_tinymce_buttons($buttons)
     {
    	$remove = array('');
    
    	return array_diff($buttons,$remove);
     }
    add_filter('mce_buttons','remove_tinymce_buttons');
    add_filter('mce_buttons_2','remove_tinymce_buttons');
    #25860

    admin
    Keymaster
    Web

    Zkusil bych to zjistit pomocí funkce get_current_screen(), podobně je to popsáno např. v jednom z návodů (anglicky).

    function separatista_remove_tinymce_buttons( $buttons ) {
      $screen = get_current_screen();
      if ( $screen->base == 'post' && $screen->post_type == 'post' ) {
        $buttons = array();
      }
      return $buttons;
    }
    add_filter( 'mce_buttons', 'separatista_remove_tinymce_buttons' );
    add_filter( 'mce_buttons_2', 'separatista_remove_tinymce_buttons' );

    Netestováno, dejte prosím vědět…

    #25862

    sjiamnocna
    Participant
    Web

    Použijte get_current_screen pro vytvoření podmínky;

    $screen = ( function_exists('get_current_screen') ) ? get_current_screen() : false;
    if ( ( $screen && $screen->post_type !== 'post' ) || !$screen) return $buttons;
    

    EDIT: Pardon, během času tvoření mé vlastní invence stihl napsat Admin :-)

    #25863

    admin
    Keymaster
    Web

    @sjiamnocna: To vůbec nevadí, díky za rychlou reakci do fóra! Podmínka function_exists() tam je sice na první pohled zbytečná, protože je funkce ve WordPressu už od verze 3.1 a nikdo snad už starší verzi nemá. Ale po přečtení dokumentace jsem tam viděl nějakou informaci o možné chybě, takže se asi hodí :-) Dobrá je asi i podmínka na existenci $screen, protože by funkce mohla v některých případech vrátit null.

    Mimochodem, zkoušel jsem svůj kód a vypadá to, že se podaří odstranit vždy pouze jeden nebo druhý řádek tlačítek ve vizuálním editoru, ale nikdy ne oba najednou. Nevím, jestli je to správné chování… Přemýšlím, jestli není nějaký hook na odpojení všech ikonek najednou… Ale uvidíme, co na to @mil667 :-)

    #25869

    sjiamnocna
    Participant
    Web

    Ano, většinou hledám v dokumentaci funkce, které neznám tak dobře, nebo parametry, které si nejsem jistý (např. pořadí parametrů, názvy argumentů v polích ap.). Ve funkci get_current_screen jsem přečetl toto: attempting to call get_current_screen() will result in a fatal error because it is not defined, takže jsem váhal, jestli je potřeba kontrola
    function_exists, is_admin nebo isset(get_current_screen()->post_type) či co…

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.