将带有ADD_ACTION的元素添加到来自特定类别ID的帖子

时间:2021-07-11 作者:dragoweb

我只是想在每个帖子的底部添加一些特定类别的内容,但所有帖子都会添加这些内容。我在GeneratePress主题中使用了一个钩子。我不明白为什么它不起作用。老实说,我不是PHP的专业人士(也许这是显而易见的)。谢谢

function bottom_post_message() {
    $query = new WP_Query( array( \'cat\' => \'3,5\' ) );
    if(is_single() && is_category($query)) {
        echo \'<p>Hello World!</p>\';
    }
}
add_action( \'generate_after_entry_content\', \'bottom_post_message\' );

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

我只是想在每个帖子的底部添加一些特定类别的内容,但所有帖子都会添加这些内容。

您确定您的;你好,世界"E;是否在所有帖子中添加文本?因为is_single() && is_category() 不会是真的,因为查询不能同时针对单个帖子和类别存档。

因此,如果您想检查当前(或特定)帖子是否属于特定类别,您可以使用in_category() 像这样:

function bottom_post_message() {
    // Check if the current request/URL is for a single post, and that the post is
    // in any of the categories passed to in_category().
    if ( is_single() && in_category( array( 3, 5 ) ) ) {
        // your code
    }
}
请注意,您未正确使用is_category() — 您应该传递类别ID,而不是WP_Query.

有关详细信息,请参阅文档is_single()is_category() 有关函数的更多详细信息(它们的作用、正确的语法等)。

相关推荐

为什么我不能执行wp-includes文件夹下的php文件?

我正在调整WordPress以更好地理解它,玩它。出于个人目的。但从加载自定义文件/wp-includes 文件夹无法工作。我试图添加信息。php文件位于/wp-includes 包含phpinfo() 当我尝试通过以下方式在浏览器中访问它时example.com/wp-includes/info.php, 服务器返回错误503。文件夹权限设置为775,文件权限设置为644。Important note: 如果我重命名wp-includes 文件夹,例如wp-include, 那就行了!我联系了主机支持人