删除受保护的wordpress页面标题h1中的“受保护”文本

时间:2012-01-25 13:07:06

标签: php wordpress

如果有搜索并且似乎无法找到任何选项来执行此操作,请找到关于如何个性化登录页面的相关帖子,但没有关于删除在页面标题之前自动添加的受保护文本,任何人都能够揭开一些光明?

编辑:

最后在http://wordpress.org/support/topic/how-to-remove-private-from-private-pages找到答案,代码如下

function the_title_trim($title)
  {
    $pattern[0] = '/Protected:/';
    $pattern[1] = '/Private:/';
    $replacement[0] = ''; // Enter some text to put in place of Protected:
    $replacement[1] = ''; // Enter some text to put in place of Private:

    return preg_replace($pattern, $replacement, $title);
  }
  add_filter('the_title', 'the_title_trim');

4 个答案:

答案 0 :(得分:9)

当帖子可见性设置为私有或受保护时,有专门的wordpress过滤器(' private_title_format'和#39; protected_title_format')应用于帖子标题,您应该在函数中使用它.php而不是替换所有的帖子:

add_filter( 'private_title_format', 'myprefix_private_title_format' );
add_filter( 'protected_title_format', 'myprefix_private_title_format' );

function myprefix_private_title_format( $format ) {
    return '%s';
}

答案 1 :(得分:1)

最后在http://wordpress.org/support/topic/how-to-remove-private-from-private-pages找到答案,代码如下

function the_title_trim($title)
  {
   $pattern[0] = '/Protected:/';
    $pattern[1] = '/Private:/';
    $replacement[0] = ''; // Enter some text to put in place of Protected:
    $replacement[1] = ''; // Enter some text to put in place of Private:

    return preg_replace($pattern, $replacement, $title);
  }
  add_filter('the_title', 'the_title_trim');

答案 2 :(得分:0)

我写了一个小插件来执行此操作:http://wordpress.org/plugins/remove-protected/

答案 3 :(得分:0)

这是一种更有效的删除前缀的方法。这仅在帖子/页面为私有或受保护时而不是在每个页面/帖子上过滤标题。您也可以通过更改preg_replace函数的第二个参数或将其附加到字符串来替换您想要的任何文本的前缀:)

add_filter( 'private_title_format', 'my_private_title_format' );
add_filter( 'protected_title_format', 'my_private_title_format' );
function my_private_title_format( $format ) {
    return preg_replace('/(Protected:|Private:)/','','%s');
}