【问题标题】:Wordpress filter titleWordpress 过滤器标题
【发布时间】:2014-01-05 02:07:21
【问题描述】:

最近我提出了一个关于内容过滤的问题,结果很好。 现在我正在尝试对标题进行相同的过滤,但是当涉及到标题时,它不会仅过滤 the_title();但是 wp_nav 中的所有标题都被过滤了。 目的是实现过​​滤单个帖子标题而不是循环中的标题(我知道 in_the_loop() )

<?php

class Filter_Title {

 public function __construct() {
    if( !is_front_page() && !is_home() && !is_single() ) return;
    if( !is_singular( array('post','page') ) ) return;

    add_filter( 'the_title', array(&$this, 'manage_page_title') );
 }


 public function manage_page_title($title) {

    $title = '';

    return $title;
 }

}

$filtertitle = new Filter_Title();

?>

这是我的迷你插件类。

【问题讨论】:

  • 我刚刚尝试了这个并看到了问题。我认为在过去我已经能够使用 CSS 或我的一个钩子主题来做到这一点,这在自定义工作时很好,对于插件来说就不是这样了。
  • 嗨,自上而下,css 不会变得更有活力。我试图找到一个动态的。正如你所说,那么 ppl 必须定义他们的 css 选择器来发布标题,这变得很复杂。
  • 是的,我编辑了我的评论。如果它用于插件,那么 CSS 将不是解决方案。如果我想出一个答案,我会考虑并发布答案。
  • 哇,非常感谢您的责任。感谢您的宝贵时间。

标签: wordpress filtering title


【解决方案1】:

我刚刚对此进行了测试,您可以将 post_ID 与参数匹配以检查其是否为帖子。 由于帖子 ID 与菜单 ID 不匹配,因此应该可以。试一试。

function remove_post_title($title, $id) {

    if (is_single() && in_the_loop() && $id == get_the_ID()) {
        $title = '';
    }
    return $title;
}
add_filter('the_title', 'remove_post_title', 10, 2);

注意:在插件中,您可能需要在另一个函数中挂钩 add_filter 并像以前一样在 wp_head 中运行它。

【讨论】:

  • 现在你是我的人了 :D 非常感谢你的努力,它真的成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多