如果使用了wp_link_ages,如何在短码之前显示wp_link_ages,或在内容之后显示?

时间:2012-12-28 作者:Joshua Richards

我的内容中有以下短代码

[src]<a href="#">Some Link</a>, <a href="#">Some Other Link</a>[/src]
我的帖子结构如下所示:

<?php echo $content; ?>
<?php wp_link_pages();?>
如果该短代码正在内容中使用,我希望wp\\u link\\u页面显示在它之前,如果没有,我希望它显示在内容之后。实现这一目标的最佳方式是什么?

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

像这样做。

// your shortcode callback
function your_sc_callback($atts,$content) {
  $content = wp_list_pages(array(\'echo\'=>false)).$content;
  define(\'YOUR_SC_RAN\',true);
  return $content;
}
现在,在内容打印后的主题模板中

if (!defined(\'YOUR_SC_RAN\')) {
  wp_list_pages();
}
或者,你可以。。。

function append_list_pages($content) {
  return $content.wp_list_pages(array(\'echo\'=>false));
}
add_filter(\'the_content\',\'append_list_pages\',100);
而您的短代码回调将是。。。

function your_sc_callback($atts,$content) {
  $content = wp_list_pages(array(\'echo\'=>false)).$content;
  remove_filter( \'the_content\',\'append_list_pages\',100 );
  return $content;
}
这两者都未经测试,因此没有任何保证,但我认为两者都应该起作用。

SO网友:Freelancer Serbia

您可以在要放置wp\\U列表页面的地方创建一个空的,然后使用jQuery(html函数)将内容从e#from移动到#destination。

结束