如何使用短代码找到“页面ID”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用短代码找到“页面ID”?相关的知识,希望对你有一定的参考价值。

我想知道在wordpress中应用此短代码的页面或帖子ID。

我在wordpress页面中使用了这个短代码“[qsm quiz = 6]”,现在我想在另一个使用此短代码的页面中显示页面ID。

示例:我在2-3页中使用了短代码,我想在单页中使用这些页面ID,其中使用了所有短代码。

答案

要获取当前页面的页面/帖子ID,您可以在短代码功能中使用get_the_ID()。这将为您提供应用短代码的帖子/页面的ID。

如果您想要使用该特定短代码的所有帖子/页面的列表,您可以使用以下功能。

function having_shortcode($str){
    $query = new WP_Query( "s='$str'" );
    $arr = array();
    if ($query->have_posts()){
      while ( $query->have_posts() ) { $query->the_post();
        $arr[] = get_the_ID();
      } 
    }
    return $arr;
}

只需简单地将短代码名称传递给函数,它将为您提供使用短代码的帖子/页面ID的数组。

在你的情况下尝试这样做,你将获得所有的ID

print_r(having_shortcode("[qsm quiz=6]"));
另一答案

我试了很多但是在最后我找到了最好的答案。

使用此代码

global $wp, $wpdb;

$page_id = $wpdb->get_var('SELECT ID FROM '.$wpdb->prefix.'posts WHERE post_content LIKE "%[qsm quiz=6]%"');

echo $page_id; 

以上是关于如何使用短代码找到“页面ID”?的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 如何查看页面 ID

如何通过代码设置片段标签?

如何在片段中使用 GetJsonFromUrlTask​​.java

一日一技:如何从多个Jupyter Notebook中找到需要代码段

如何在 Django Summernote 中显示编程片段的代码块?

Chrome-Devtools代码片段中的多个JS库