Appending code to the_content

时间:2012-11-29 作者:K1t

我正在尝试将一些php代码附加到the_content 在自定义循环中。我不想添加函数,因为我只想将代码附加到the_content, 不是在整个现场。

我正在使用Read More Right Here 插件,允许查看者阅读页面上显示的整个帖子(单击more标记后)(无需转到单个帖子)。我用的是Advanced Custom Fields 插件输出一些我想在每篇文章末尾显示的内容(当后端勾选复选框时)。如果我将代码置于the_content 在我的模板中,信息显示在“更多”标记下方。我的目标是将此附加到the_content 这样它就被隐藏了(与more标记后面的文章的其余部分一起),直到您单击“阅读更多”(并显示文章的其余部分)。

我试图附加到的结尾的代码the_content 是:

<?php
if( in_array( \'frazer-barton\', get_field(\'who_specialises\') ) )
{
echo \'<img src="http://andersonlloyd.php.wired.co.nz/wp-content/themes/all/images/example-thumb.jpg" />\';
}
if( in_array( \'sarah-simmers\', get_field(\'who_specialises\') ) )
{
echo \'<img src="http://andersonlloyd.php.wired.co.nz/wp-content/themes/all/image/example2-thumb.jpg" />\';
}
else {
echo \'\';
}
?>
我不是PHP开发人员,因此非常感谢您在这方面提供的任何帮助。

1 个回复
SO网友:Johannes Pille

您正在寻找filter the_content.

在主题的函数中。php或插件:

function wpse74288_content_filter( $content ) {
    /* save field into variable, such as to call get_field only once
     * not required, but more efficient */
    $who_specialises = get_field(\'who_specialises\');
    /* append to content on condition */
    if ( in_array( \'frazer-barton\', $who_specialises ) ) {
        /* use correct img src attributes, shortened only for representation here */
        $content .= \'<img src="http://andersonlloyd...images/example-thumb.jpg" />\';
    } elseif ( in_array( \'sarah-simmers\', $who_specialises ) ) {
        $content .= \'<img src="http://andersonlloyd.../images/example2-thumb.jpg" />\';
    }
    /* return the content, whether appending happened or not */
    return $content;
}
add_filter( \'the_content\', \'wpse74288_content_filter\' );
顺便说一句,如果你知道要搜索什么,这个问题可能是重复的重复。

结束

相关推荐