Query post with content only

时间:2019-03-04 作者:Quentin Veron

我需要循环浏览最后3篇帖子movie, 但只有那些内容不是空的。

当我使用ACF编辑器而不是本机编辑器时,我通常会这样做。

movie-content 指所见即所得字段的段塞。

$args = array(
  \'posts_per_page\' => 3,
  \'post_type\' => \'movie\',
  \'meta_query\' => array(
    array(
      \'key\' => \'movie-content\', // ACF editor field name
      \'value\' => \'\',
      \'compare\' => \'!=\'
    )
  )
);
有没有办法用本机编辑器做到这一点?我想在请求中而不是在循环中进行条件测试。

1 个回复
SO网友:Howard E

如果我完全理解你的问题,我相信这就是你想要的。

据我所知。。。没有可用于完成此操作的WP\\U查询。但是,您可以使用$wpdb并进行自定义查询。

global $wpdb;

$q = "  SELECT * from {$wpdb->posts} p
        RIGHT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = \'your_meta_key\'
        WHERE  p.post_type = \'your_post_type\' AND p.post_status = \'publish\' and p.post_content <> \' \'
        LIMIT 3";

$results = $wpdb->get_results($q);

foreach ($results as $post){
    // Your Loop goes here
    echo $post->post_content;                
}
只需将“your\\u post\\u type”等替换为自定义字段即可。

除了p.post\\u内容,您还可以使用pm。meta\\u值<;>“”-这将只检索您选择的元字段值不为空的帖子。

在这种情况下,查询将是:

$q = "  SELECT * from {$wpdb->posts } p
        RIGHT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = \'your_meta_key\'
        WHERE  p.post_type = \'your_post_type\' AND p.post_status = \'publish\' and pm.meta_value <> \' \'
        LIMIT 3";

相关推荐

Front End Editor

我的文本编辑器有一个很奇怪的问题。首先,我的网站正在开发中(在本地),并且是以形状自由为主题的。其次,我的网站是为了招聘工作(使用WP job Manager插件)。因此,在我的网站上,我有一个页面,人们可以在其中创建招聘信息(直接从网站,而不是进入管理面板),当然还有一个带有文本编辑器的描述字段,这个文本编辑器就是问题所在。当我在管理面板中修改TinyMCE特性时,这个文本编辑器没有改变;即使选中“修改前端文本编辑器”框,也不会更改前端文本编辑器中的任何内容。奇怪的是,我可以看到TinyMCE通过页面的