我有个问题。
我正在使用自定义的快捷码来获取url。如果短代码在帖子中,那么它将获取帖子url。当我在分类列表中打开帖子时,这个帖子的快捷码工作正常。
extract(shortcode_atts(array(
\'gurl\' => get_permalink(),
), $atts));
但当我尝试在小部件文本中添加此短代码时,我得到了最后一个帖子url。
请告诉我,当短代码位于小部件中时,我如何获取帖子url。
最合适的回答,由SO网友:MathSmath 整理而成
根据页面的查询和循环的构造方式,当您从边栏或页脚访问post对象时,有时会得到循环中的最后一篇文章,而不是页面本身。
您可以通过运行wp_reset_query() 从小部件内部(在访问post对象或运行以当前post为目标的任何函数之前)。
这里有一个警告:确保在您的小部件之后没有任何东西会受到此post重置的影响。