在帖子和页面的主内容编辑器中,我们可以插入指向其他帖子/页面的多个链接:
<a href="http://example.com/hello-world/">Hello World</a>
我想做的是让Wordpress自动将Hello World帖子的ID添加到链接中。为了尝试并清楚地解释我想要什么,假设我正在写一篇新的博文,并且在新博文中添加了一个链接,链接到我现有的Hello World博文。
<a id="4" href="http://example.com/hello-world/">Hello World</a>
在上面的示例中,我们的Hello World帖子的ID为4。我一直在学习
this answer 这是一个不同的问题,但我还没有完全弄清楚如何获取我链接到的帖子/页面的ID并将其添加到锚元素。如果我们有多个指向同一帖子/页面的链接,那么使用rel属性可能更安全:
<a href="http://example.com/hello-world/" rel="4">Hello World</a>
最合适的回答,由SO网友:Glen 整理而成
这是我在@bravokeyl的指针下得出的解决方案
所以说清楚点it does not add the ID\'s to links 但是通过使用link slug,我可以获得ID,这是我所需要的解决方案。我使用JS将URL传递到此函数中,然后将其剥离为仅在中使用的slugget_page_by_path
然后返回该帖子的ID。
这是我正在努力构建一个基于Ajax的主题的一部分。这种方法还解决了具有相同ID的多个链接的问题。
function local_post_init() {
/** Get post ID from slug **/
$page_slug = $_POST[\'id\'];
$page_data = get_page_by_path(basename( untrailingslashit( $page_slug ) ) , OBJECT, \'post\');
$page_id = $page_data->ID;
/** $page_id holds our ID which we then use in our query */
$args = array( \'p\' => $page_id );
$theme_query = new \\WP_Query( $args );
post_template($theme_query);
}