如何阻止在index.php页面上运行过滤器?

时间:2013-04-05 作者:Mentalhead

我正在尝试制作一个Wordpress函数,目前我的函数中有这个函数。php文件:

 function find_my_image($content) {
     if(is_single()) {

    if (preg_match(\'#(<img.*?>)#\', $content, $result)){

        $content .= \'<p>Image has been found</p>\';

    }
    else{

        $content .= \'<p>Sorry, no image here!</p>\';

    }

return $content;

 }
 }

add_filter(\'the_content\', \'find_my_image\');
该功能在单个帖子页面上运行良好,但我的索引。php现在为空(只显示帖子的标题,但不显示帖子内容)。我尝试删除:

add_filter(\'the_content\', \'find_my_image\');
来自函数。php,但这会阻止该函数在我的single上执行。php。我也试过使用这个(我不知道它是否正确):

 if(is_single()) {

     add_filter(\'the_content\', \'find_my_image\');

}
但这只是取消了single上的函数。php。我猜是add\\u filter(\'the\\u content\',\'find\\u My\\u image\');问题在这里,但我无法解决,有人能帮我解决一下吗?

1 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

您需要从过滤器函数返回内容。

function find_my_image( $content ) {
    if( is_single() ) {
        if ( preg_match(\'#(<img.*?>)#\', $content, $result ) ){
            $content .= \'<p>Image has been found</p>\';
        }
        else{
            $content .= \'<p>Sorry, no image here!</p>\';
        }
    }
    return $content;
}

add_filter( \'the_content\', \'find_my_image\' );

结束

相关推荐

向函数添加APPLY_FILTERS有什么不利影响吗?

我将回顾我以前的WordPress主题,使函数可过滤,并添加函数\\u exists检查。我有没有想过这会导致现有代码出现问题?// Dummy function if ( ! function_exists( \'custom_func\' )) { function custom_func() { $output = \"Something Awesome\"; return apply_filters(\'custom_func