挂钩筛选器位于特定页面上的内容之后(_C)

时间:2015-07-08 作者:waterschaats

我创建了一个函数来钩住\\u内容。这仅适用于某些页面/帖子。它使用的是默认模板,但不是我的自定义模板。

function insertFootNote($content) {
   $content.= "<div>";
   $content.="additional content";
   $content.= "</div>";
   return $content;
}

add_filter (\'the_content\', \'insertCpontent\');
在我的自定义页面模板中,我有以下代码

<?php if(have_posts()): ?>
<?php get_template_part( \'part\', \'addressbook\' ); ?>
<?php endif; ?>
在模板(\'part-addressbook.php)中,我有以下内容。

 echo \'<div class="category-description"><p>\'.get_the_content().\'</p></div>\';
在这个模板部分,虽然我使用了\\u content/get\\u the\\u content函数,但钩子不起作用

为什么钩子在这种情况下不起作用?

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

get_the_content 不要应用\\u内容筛选器。您必须在收到以下内容后应用它

<?php apply_filters(\'the_content\',get_the_content( $more_link_text, $stripteaser, $more_file )) ?>
详细信息请参见codex page

SO网友:s_ha_dum

你已经是了echo正在删除数据。仅使用the_content():

echo \'<div class="category-description"><p>\',the_content(),\'</p></div>\';
请注意:这些是commas 不是周期。echo 将接受多个由逗号分隔的参数,如果尝试串联,则不会看到奇怪的结果。上述功能与:

echo \'<div class="category-description"><p>\';
  the_content();
echo \'</p></div>\';

结束

相关推荐

Cannot override hooks.php

我为网络黑猩猩的“反应主题”构建了一个儿童主题。我想换一个钩子。所以我想我需要钩子。我的孩子主题中的php文件。所以我从父母那里复制了它。我制定了相同的层次结构(我想这是正确的方法)。wp-content/[my_child_theme]/core/includes/hooks.php 将文件复制到主题根目录没有帮助。我还试图重新创建这个关键钩子。我把代码放在子函数中。php文件,但它也不起作用,因为挂钩发生在主题内容之后(只是我的asumtion)。所以问题很简单:如何覆盖父主题的挂钩。php