包括wordpress插件的函数xy()

时间:2011-09-27 13:41:09

标签: php wordpress class function include

我想构建一个WordPress管理仪表板小部件,它应该从另一个插件返回一些信息。

此仪表板小部件应在此处阅读此插件的功能: http://plugins.svn.wordpress.org/wp-document-revisions/trunk/wp-document-revisions.php

所以我的代码是:

include (WP_PLUGIN_URL.'/wp-document-revisions/wp-document-revisions.php');
$file_type = get_file_type('3'); 

但这不起作用。这些是错误:

  

致命错误:调用未定义的函数add_action()   /.../wp-content/plugins/wp-document-revisions/wp-document-revisions.php   在第26行

     

致命错误:调用未定义的函数get_file_type()   /.../可湿性粉剂内容/插件/仪表板插件/仪表板widget.php

有谁能告诉我如何做到这一点,我可以读取函数get_file_type('3')?

3 个答案:

答案 0 :(得分:0)

我假设您直接导航到wp-content / plugins /文件夹中的PHP文件,而不是使用存根来创建URL。如果是这种情况,那么您可能忘记包含wp-load.php

答案 1 :(得分:0)

您不应该包含插件文件(因为可能未安装或激活插件)。 而不是这个,你应该检查函数是否存在:

if (function_exists('get_file_type')) {
 $file_type = get_file_type('3'); 
 // rest of the code of the widget
}

答案 2 :(得分:0)

听起来你正试图直接访问PHP文件,而不是通过正确的WordPress。您应该创建一个插件,并挂钩Dashboard Widgets API

对于WP Document Revisions的实施,您有两个选择。从版本1.2开始,get_documents()get_document_revisions()是两个全局函数,可以在plugins_loaded挂钩后随时访问。 FAQ有更多信息,但它们的功能基本上与原生get_posts()功能相同。

或者,该课程应在全球范围内以$wpdr的形式提供。例如,如果您想要致电get_latest_version( 1 ),那就是$wpdb->get_latest_version( 1 )

两者都假设插件已经激活。如果您只是包含该文件,那么您将尝试重新声明WP_Document_Revisions类的错误。

如果你确实创建了一个仪表板,我很乐意将它包含在插件的未来版本中!