如何从分类正确的帖子中选择内容?

时间:2016-06-30 作者:Tada

我有一个包含帖子标题的短代码。此短代码在前端加载帖子中的内容。这很好:

function title_content($atts, $content = null ) {
   global $wpdb;
   $post_id = $wpdb->get_var($wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE post_title = %s",$content));
   $getpost = get_post($post_id);
   return $getpost->post_content;
}

add_shortcode( \'content\', \'title_content\');
但我在不同的类别中有相同标题的帖子。因此,这有时会加载错误的内容,因为我不想在短代码中使用post id或post slug。

我只想从正确的类别(名称为“博客”)的帖子中获取内容,这样我就不会再与同一个帖子标题发生冲突。

有人有主意吗,我怎么解决这个问题?

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

您可以使用该功能in_category 测试某个帖子是否属于某个类别。它将一个或多个类别和帖子作为输入。因此,您可以这样区分您的函数:

function title_content($atts, $content = null ) {
   global $wpdb;
   $post_id = $wpdb->get_var($wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE post_title = %s",$content));
   $getpost = get_post($post_id);
   if (in_category(\'blog\',$getpost)) {
       return $getpost->post_content;
       }
   else {
       ... do something else ...
       }
}