自定义发布类型的默认或预设内容

时间:2011-08-16 作者:Isendra

我正在尝试修改代码,以便根据帖子类型显示默认内容,但到目前为止,我没有成功。基本代码为:

add_filter( \'default_content\', \'my_editor_content\' );
function my_editor_content( $content ) {
    $content = "default content goes here....";
    return $content;
}
我的修改包括:

add_filter( \'default_content\', \'my_editor_content\' );

function my_editor_content( $content ) {
    if ( \'sources\' == get_post_type() ) {
        $content = "Please insert an image of the document into this area.  If there is no image, please descript the document in detail.";
        return $content;
    } elseif ( \'stories\' == get_post_type() ) {
        $content = "Please write your reminiscences, recollections, memories, anecdotes, and remembrances in this area.";
        return $content;
    } elseif ( \'pictures\' == get_post_type() ) {
    $content = "Please insert an image of a photograph into this area.";
    return $content;
    } else {
    $content = "default!";
    return $content;
};}
但这根本不起作用。我觉得我错过了显而易见的事情。

2 个回复
最合适的回答,由SO网友:t31os 整理而成

使用第二个参数$post 和检查$post->post_type 除了交换机之外,它比其他几种if-else-if-else等更易于使用。。

add_filter( \'default_content\', \'my_editor_content\', 10, 2 );

function my_editor_content( $content, $post ) {

    switch( $post->post_type ) {
        case \'sources\':
            $content = \'your content\';
        break;
        case \'stories\':
            $content = \'your content\';
        break;
        case \'pictures\':
            $content = \'your content\';
        break;
        default:
            $content = \'your default content\';
        break;
    }

    return $content;
}
希望这有帮助。。

SO网友:Wyck

尝试以下操作:

function my_editor_content( $content ) {

 global $post

 if (get_post_type($post) == \'sources\'){
 //rest of your stuff

结束

相关推荐

write in functions.php

我只想在我的函数中添加此代码。php,以便在我的帖子结束后直接显示。目前,我正在将此代码添加到我的单篇文章中。php,但我想在函数中添加它。php,此代码用于获取各个帐户的所有推文,代码如下<?php function parse_twitter_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix) { $feed = str_replace(\"&lt;\", \"<\", $feed);