Wordpress:用于替换自定义帖子状态的内容的函数

Wordpress:用于替换自定义帖子状态的内容的函数,wordpress,Wordpress,我通过register\u post\u status(如下所示)创建了自定义post status“blocked” 现在我想通过functions.php将文章中的内容替换为这个状态 我试过这样的东西 function block_by_status ($post_object) { global $wp_query; if( 'blocked' == $wp_query->post->post_status ) { return 'This

我通过register\u post\u status(如下所示)创建了自定义post status“blocked”

现在我想通过functions.php将文章中的内容替换为这个状态

我试过这样的东西

function block_by_status ($post_object) {
     global $wp_query;
     if( 'blocked' == $wp_query->post->post_status ) {
         return 'This post is blocked';
     }
}

add_action('the_post','block_by_status');

但它不起作用,请有人帮忙?

因此,对于内容,您可以做一些简单的事情,如:

add_filter('the_content', 'block_by_status');
要隐藏标题,您可以使用:

add_filter( 'the_title', 'block_by_status', 10, 2 );
如果你想更进一步,我建议在theme文件夹中编辑模板

对于需要编辑
page.php
的页面,以及需要编辑
posts.php
singular.php
的帖子,这取决于您使用的主题

所以你可以这样做:

functions.php
文件中:

function block_by_status ($post_object) {
     global $wp_query;
     if( 'blocked' == $wp_query->post->post_status ) {
         return true;
     }
}
然后在我上面提到的文件中(取决于您的主题):



因此,您可以将函数用作布尔值,只需隐藏您不希望用户看到的内容。

因此,对于内容,您可以执行以下简单操作:

add_filter('the_content', 'block_by_status');
要隐藏标题,您可以使用:

add_filter( 'the_title', 'block_by_status', 10, 2 );
如果你想更进一步,我建议在theme文件夹中编辑模板

对于需要编辑
page.php
的页面,以及需要编辑
posts.php
singular.php
的帖子,这取决于您使用的主题

所以你可以这样做:

functions.php
文件中:

function block_by_status ($post_object) {
     global $wp_query;
     if( 'blocked' == $wp_query->post->post_status ) {
         return true;
     }
}
然后在我上面提到的文件中(取决于您的主题):



因此,您可以将函数用作布尔值,只需隐藏您不希望用户看到的内容。

您是否尝试过:
add\u filter('the\u content','block\u by\u status')我试过了,部分有效,但页面显示标题h1,一行元数据(日期、类别)和注释。所有这些都可以删除吗?您是否尝试过:
add_filter('the_content','block_by_status')我试过了,部分有效,但页面显示标题h1,一行元数据(日期、类别)和注释。所有这些都可以删除吗?谢谢,我希望这个问题可以在不编辑主题文件的情况下解决,但是如果没有,我会按照你的方式来做。不幸的是,我不知道你的主题文件是如何布局的,还有其他过滤器可以用来隐藏东西,但是我不知道你在展示多少,你想隐藏什么,你不想隐藏什么。如果你更新你的问题,我可以用更好的信息为你更新答案。没关系,我对几个主题文件做了更改,现在可以了,谢谢!没问题,如果你满意,请接受我的回答。谢谢,我希望这个问题可以在不编辑主题文件的情况下解决,但如果没有,我会按照你的方式解决。不幸的是,我不知道你的主题文件是如何布置的,你可以使用其他过滤器来隐藏东西,但是我不知道你在展示多少,你想隐藏什么,你不想隐藏什么。如果你更新你的问题,我可以用更好的信息为你更新答案。没关系,我对几个主题文件做了更改,现在可以了,谢谢!没问题,如果你满意的话,请接受我的回答。