自定义插件的循环输出[找到解决方案]

时间:2012-03-01 作者:Sam

我正在尝试更新我的插件,使其更加用户友好。我想要实现的一件事是,我希望我的插件输出(例如描述字段)使用所有普通wordpress帖子和页面的全部功能(使用TinyMCE和循环输出)。

我找到一篇关于使用tinyMCE的好文章right here 但我仍然停留在其他插件对循环格式的使用上。

举个例子:我使用一个下载管理器插件。在我可以写的自定义帖子和页面中[download id=1] 它通过关联的插件很好地格式化。我想在我的自定义插件中也有这个功能。

现在,这是我进行插件输出的方式:

add_filter(\'the_content\', array(&$myclass, \'myclass_callback\'), 7);
myclass\\u回调如下:

public function myclass_callback($sIn)
{
  if (isset($_GET[\'myc_id\']) && is_numeric($_GET[\'myc_id\'])) {
    $sOut = $this->myclass_detail((int)$_GET[\'myc_id\']);
    return str_replace(\'[[MYCLASS_TAG]]\', $sOut, $sIn);
  }
  $sOut = $this->myclass_index();
  return str_replace(\'[[MYCLASS_TAG]]\', $sOut, $sIn);
}
而且这种方法并没有带来我想要的结果:)所以我正试图找出如何做到这一点,但显然我不是一个好的谷歌搜索者

任何链接或关键字为我搜索将不胜感激。提前感谢!

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

我的问题的解决方案是让我的插件输出通过do_shortcode()-本文指出的WordPress的功能:Using Shortcodes Everywhere

我更新了插件,使其也使用了短代码,所以现在我的输出如下所示:

// Add this upon plugin initialization
add_shortcode( \'dosomethingawesome\', array( &$this, \'output_callback\') );

/**
 * Plugins output
 *
 * Fetches the output from handle_callback() and then runs it through the
 * do_shortcode() function to work with other plugins, too
 *
 * @uses do_shortcode()
 * @access public
 * @return string
 */
// {{{ output_callback()
public function output_callback() {
  $sOutput = $this->handle_callback(); //returns the string of my plugins action
  return do_shortcode($sOutput);
}
// }}}

结束

相关推荐

Pagination on 2nd loop

好的,我正在创建一个业务列表网站,该网站使用列表“类型”的自定义分类法。我需要在分类法归档页面上显示两个循环,一个用于“赞助”列表,另一个用于常规列表。分类法存档:http://pastie.org/3187162分页功能:http://pastie.org/3187168这两部分都在做我想做的事情,但有一个问题:在一个特定类别中大约有50个非赞助商列表,但第二个查询最多有5个“页面”(即,如果我将posts\\u per\\u page设置为5,则有25个列表,如果我将posts\\u per\\u p