获得包含在WordPress短代码的页面/帖子ID


Get the Page/Post ID of included Shortcode in WordPress

我试图找到一些关于如何获得页面id的信息,如果我在wordpress的文本编辑器中包含唯一的短代码。假设我有一个短代码作为[testingshortcode]正在做一些功能(显示表单)把它放在wordpress的编辑器。现在我想找到短代码在哪个页面id中使用?

是否有一种方法可以找到短代码在哪个页面中使用?

如果有什么建议就更好了

我不确定我理解对了这个问题,但我会试一试。

我不是一个Wordpress专家,所以我不知道是否存在一个内置的功能,但我立即想到:这将很容易与手动SQL查询。

所以我像这样设置查询:
<?php
    /* global $wpdb; //you may need to enable this */
    $results = $wpdb->get_results('SELECT ID FROM '.$table_prefix.'posts WHERE post_content LIKE "%[testingshortcode]%" AND post_parent = 0');
    var_dump($results);
?>

根据使用它的位置,您可能需要启用全局$wpdb变量。
查询在Wordpress数据库上做一个简单的搜索,并检索所有提到字符串[testingshortcode]的帖子。起初,我很惊讶地看到它返回的id比我预期的要多,但后来我记得Wordpress现在保存了帖子修订,所以我使用post_parent = 0语句过滤了那些。它现在应该只返回真实的post id。

关于在Worpress Codex上使用$wpdb类的更多信息。