我想知道此短代码在 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().' '.get_the_title();
}
}
return $arr;
}
只需将短代码名称传递给函数,它就会为您提供使用短代码的帖子/页面的 ID 数组。
在您的情况下尝试这样做,您将获得所有 ID
print_r(having_shortcode("[qsm quiz=6]"));
关于php - 获取使用短代码的所有页面/帖子 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55435207/