Marque si en Tipo de publicación personalizada para botones TinyMCE

2

Estoy agregando botones TinyMCE a mi complemento y están funcionando, pero solo quiero que estos botones aparezcan para un determinado tipo de publicación personalizada. Seguí este tutorial si ayuda:

enlace

¿Cómo puedo verificar si están editando / publicando una publicación en un tipo de publicación personalizada como, digamos, newpages ?

    
pregunta Jared 11.03.2011 - 02:42

2 respuestas

5

Si siguió el tutorial que vinculó, mire la función que registra los botones:

function mylink_button() {
   if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages'){
     return;
   }
   if ( get_user_option('rich_editing') == 'true' ) {
     add_filter( 'mce_external_plugins', 'add_plugin' );
     add_filter( 'mce_buttons', 'register_button' );
   }
}

y lo cambias un poco para comprobar el tipo de publicación:

function mylink_button() {
        if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages')){
         return;
        }
        if ( get_user_option('rich_editing') == 'true' ) {
            global $typenow;
            if (empty($typenow) && !empty($_GET['post'])) {
                $post = get_post($_GET['post']);
                $typenow = $post->post_type;
            }
            if ("newpages" == $typenow){
                add_filter( 'mce_external_plugins', 'add_plugin' );
                add_filter( 'mce_buttons', 'register_button' );
            }
       }
    }

de esta manera solo registra los botones en su tipo de "nuevas páginas"

    
respondido por el Bainternet 11.03.2011 - 03:15
1

Gracias Bainternet. Muy útil. Usé tu solución con una pequeña modificación.

En lugar de

global $typenow;

Tomé

global $current_screen;
$current_screen->post_type;

$ typenow solo devuelve el tipo correcto, si está insertando una nueva publicación. Cuando está editando una publicación existente, siempre devuelve "publicación". Por lo tanto, es mejor usar $ current_screen- > post_type.

    
respondido por el Beat Sprenger 26.09.2011 - 10:56

Lea otras preguntas en las etiquetas