替换<! - ?php the_content(); ? - >在content-single.php中,其中包含来自functions.php中自定义内容代码的输出

时间:2014-09-24 04:33:11

标签: php wordpress

我有一个小问题。我已经管理过,在某人的帮助下,一个stackoverflow编写代码,为我的所有wordpress帖子添加动态内容。代码现在在我的functions.php文件中,如下所示。

function add_after_post_content($content) {
    global $post;
    if(!is_feed() && !is_home() && is_singular() && is_main_query()) {
        $post_categories = wp_get_post_categories( $post->ID );
        $cats = array();

        foreach($post_categories as $c){
            $cat = get_category( $c );
            $cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
        }

        $content .= '<strong>'. $post->post_title . '</strong> is a <strong>wallpaper</strong> posted in the ';

        foreach($cats as $c){
            $content .= $c['name'];
        }

        $content .= ' category by <strong>Free Wallpapers</strong> on '. $post->post_date . '. <br /><br />';
    }
    return $content;
}

add_filter('the_content', 'add_after_post_content');

问题是我的一些旧帖子已经包含了内容,因此旧内容和新内容都显示在它们下方。而我希望这是所有帖子的新内容/描述。目前在我的content-single.php中,我认为这是调用原始帖子内容加上我上面提到的代码的行。

<?php the_content(); ?> 

我想删除或修改添加到functions.php文件中的content-single.php /代码,以便只有新代码显示动态描述,并且不显示原始帖子内容。即,如果整个新代码可以标记为content2并且content-single.php代码仅输出此content2,则将其放置。我试过简单地从functions.php移动代码来替换

<?php the_content(); ?> 

在content-single.php中,但这给了我各种错误。

非常感谢有关此问题的任何帮助。

最好的问候

1 个答案:

答案 0 :(得分:0)

在$ content之后删除点。

$content .= '<strong>'. $post->post_title . '</strong> is a <strong>wallpaper</strong> posted in the ';

将以上行替换为以下

$content = '<strong>'. $post->post_title . '</strong> is a <strong>wallpaper</strong> posted in the ';