2012-03-16 94 views
0

我有一个JS/PHP文件在wordpress插件file.js.php中结合。wordpress检测插件路径到根

问题是 - 我需要包含一个wordpress文件以便能够使用GLOBALS和wp函数。

我的问题有两个部分:

1 - 该文件是最好的一个,包括(安全性,性能等)

2 - 我怎样才能找到他的路径表示文件 - 假设我不能使用plugins_url()包含它来识别路径或wp root?

现在我使用:

include("../../../../wp-load.php"); 

require_once (dirname(dirname(dirname(dirname(dirname (__FILE__))))).'/wp-config.php'); 

但是,当然,这是一个半硬编码的方法。它不会提供任何保障,如果内容”或‘插件’目录移到...

的问题进行了概述,并同时解决了这个问题浮出水面:PHP constant inside JS file

回答

0

我认为你做的太复杂了。我认为更好的方法是检查如何处理WordPress中的AJAX调用:http://codex.wordpress.org/AJAX_in_Plugins

您实际上不必将JS编写为AJAX来使用这些方法,但可以将一些设置变量放置到您的页面中这些方法。你也可以有一个由WordPress完全生成的JavaScript文件,它可以完全访问数据库等。

所以你可以写你的代码周围

add_action('wp_ajax_nopriv_myajax-submit', 'mydynamicjs'); 
add_action('wp_ajax_myajax-submit', 'mydynamicjs'); 

,并从内部或外部的WordPress拨打电话,以包括JS,如:

http://example.com/wordpress/wp-admin/admin-ajax.php?action=mydynamicjs 

,你实际上应该返回JSON不是真的正确的技术但是你会得到一个文件,可以100%访问WP函数,数据库等,而不必做任何疯狂的包含。

根据你的目标,你也可以写一些东西来访问AJAX需要的数据。