Conteúdo padrão para uma postagem em uma categoria?

4

Esta é uma função comum que adiciona texto padrão a todas as postagens:

add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
    $content = "default content goes here....";
    return $content;
}

Como isso seria alterado para adicionar o conteúdo padrão apenas a uma postagem em uma categoria?

10/4/11 Não é uma resposta exata, mas algumas escolhas abaixo em minha própria resposta

    
por markratledge 09.04.2011 / 15:59

2 respostas

3

Uma possibilidade é esta pergunta / resposta aqui por Jan Fabry, que pede o conteúdo padrão no processo de criação do novo post: Forçar a escolha da categoria antes de criar um novo post?

Acabei usando um Quicktag como uma forma de colocar facilmente o conteúdo em um post e, como o conteúdo padrão era html, ele funciona da melhor maneira possível por enquanto. Mas, no futuro, haverá uma maneira de colocar o conteúdo padrão em uma postagem quando a postagem for salva nessa categoria, o que será bom.

Função de etiquetas rápidas para funções.php:

//Custom Quicktags Function

function my_quicktags() {
    wp_enqueue_script('custom_quicktags',
    get_bloginfo('template_directory').'/custom-quicktags.js', array('quicktags'));
}
add_action('admin_print_scripts', 'my_quicktags');

Exemplo de código de QuickTags para custom-quicktags.js, que fica na pasta do tema:

edButtons[edButtons.length] =
new edButton('newbutton1'
,'TagButtonName'
,'html, like <div>'
,'and more </div>'
,''
);
    
por markratledge 10.04.2011 / 17:53
0

Você pode globalizar $ post e verificar se ele tem a categoria desejada:

add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
    global $post;
    $the_one_category_id= '12'; //the category you want this to work on id
    $args= array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'ids');
    $cats = wp_get_object_terms($post->ID, 'category',$args);
    if (in_array($the_one_category_id,$cats)){
        $content = "default content goes here....";
    }
        return $content;
    }
    
por Bainternet 09.04.2011 / 16:57

Tags