显示上一篇文章摘录、标题和链接的Metabox值

时间:2021-03-05 作者:Sagaroth

我面临着一个我无法解决的问题。我想获得最后一篇包含特定元框按钮状态的文章的摘录、标题和链接。

例如:我想检索最后一篇状态为“的帖子”;1英寸;在元框按钮id上;热门新闻状态;。尽管我在论坛或Wordpress文档中多次搜索,但我不知道如何做到这一点。

最终目标是在Visual Composer插件生成的组件中显示这些新闻。

提前感谢您的帮助和建议!

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

IF HOT NEWS IS A TAG (FIRST QUESTION ASKED FOR TAGS)

您必须使用WP查询,其中您可以查询带有标记“quot;热门新闻”;并按帖子ID的降序排列结果,然后返回1篇帖子,如下所示:

$query_args = array(
  \'post_type\' => \'your_post_type\',
  \'tax_query\' => array(
    array(
      \'taxonomy\' => \'your_tag_taxonomy\',
      \'field\' => \'slug\',
      \'terms\' => \'hot_news\'
    )
  ),
  \'order_by\' => \'ID\',
  \'order\' => \'DESC\',
  \'posts_per_page\' => 1
);

// Fire WP post query
$my_query = new WP_Query( $query_args );

// Check if at least one matching post was found
if ( $my_query->have_posts() ) {

  // If yes, iterate through the found post(s)
  while ( $my_query->have_posts() ) {

    // Forward the post iterator to the currently iterated post of the loop.
    // Like this you\'ll be able to get the iterated posts\' content via the
    // ```get_the...``` etc. functions
    $my_query->the_post();

    $posts_title = get_the_title();
    $posts_excerpt = get_the_excerpt();
    $link = get_the_permalink();

    echo $posts_title." ".$posts_excerpt." ".$link;

  }

}

// Reset the global $post object (should always be done after post queries)
wp_reset_postdata();
IF HOT NEWS IS A META KEY (LATER ASKED FOR META)

如果要在metavalues函数中进行查询,则需要按照以下方式制定查询参数:

$query_args = array(
  \'post_type\' => \'your_post_type\',
  \'meta_query\' => array(
    array(
      \'key\' => \'hotnews-status\',
      \'value\' => 1,
      \'type\' => \'NUMERIC\'
    )
  ),
  \'order_by\' => \'ID\',
  \'order\' => \'DESC\',
  \'posts_per_page\' => 1
);
这两个查询背后的逻辑如下:每次创建新帖子时,该帖子都会在数据库中获得一个与之关联的自动递增ID值(意思是=最近添加帖子的ID+1)。要获取最新的帖子,请根据帖子ID按降序排列查询到的帖子,然后返回1篇帖子(查询的posts\\u per\\u page参数)。是的,然后添加任何额外需要的过滤器,例如标记/类别/分类法/元值/任何过滤器。清楚的

相关推荐

自定义Metabox数据在Admin Init上的查询速度较慢

最近,我的数据库在Post和Posteta中都变得非常大,当访问WP admin时,它在init上加载了大约700mb的数据,这会减慢整个后端的速度。我发现大量数据是从自定义metabox init生成的。我使用以下方法加载带有WP\\U查询获取的数据的自定义Select元数据库:add_filter( \'rwmb_meta_boxes\', \'Theme2035_register_meta_boxes\' ); function Theme2035_register_meta_bo