帮助管理中的快捷码-AJAX

时间:2011-07-14 作者:mhendleman

我一直在wordpress中使用ajax,我努力在后端和前端工作,没有遇到太多麻烦,但是在加载时我遇到了一个让post短代码运行的问题post_content 到前端。

我注意到:

apply_filters( \'the_content\', $content );
。。将运行,但它只包含我的短代码<p> 标签,就像它在管理中所做的那样。

do_shortcode() 使用时将起作用[gallery] 或其他原生wordpress短代码,但不是我在插件中注册的短代码。

但是,我的插件短代码确实在正常的wordpress帖子页面(而不是ajax)中运行。

读了这篇文章后,我意识到admin-ajax.phpWP_ADMIN 设置为true 所以我认为发生的是apply_filters( \'the_content\', $content ); 根据是否is_admin 或者不是。

或本机短代码和插件短代码add_shortcode() 注册方式不同,无法在同一地点访问。

有人知道这里发生了什么吗?

非常感谢。

1 个回复
SO网友:Tareq

如何应用过滤器是错误的。您需要将一个函数绑定到过滤器,但您提供的是一个变量。

function my_filter( $content ) {
    return $content . \'My added code\';
}
add_filter( \'the_content\', \'my_filter\' );
您应该像这样添加代码,这应该可以工作。

结束

相关推荐

WordPress AJAX调用通过die()返回零

我正在请求一个插件。这在我的测试平台(常规WP)上运行良好,但在WPMU(两个最新的WP版本)上会出现问题这是我的职责:function my_action_callback() { $post = $_POST[\'shortcode\']; $post = str_replace(\'\\\"\',\'\"\',$post); echo do_shortcode($post); die(); } 有什么问题吗?