Wordpress插件获取版本。我这样做了吗?

时间:2013-02-15 09:37:13

标签: wordpress

我想为我自己的所有基于wordpress的网站制作一个插件。 这个想法很简单,我想通过使用CURL来获取这些网站的版本(可能还有其他信息)。 现在,我有这样的代码:

<?php
/*
Plugin Name: Manage Site
Plugin URI: http://not-available-yet.com/
Description: A manage site plugin
Author: Go Frendi Gunawan
Version: 0.0
Author URI: http://not-available-yet.com/
*/

// this file is located on wp-content/plugins/manage_site

require_once '../../../wp-includes/version.php'; // do I need to include everything manually like this?


if(isset($_GET['key']))
{
    $key = $_GET['key'];
    if($key=='1234'){
        echo $wp_version;
    }
}

我可以使用CURL使用以下地址访问它: http://my_domain.com/wordpress/wp-content/plugins/manage_site/manage_site.php?key=1234

我会将wordpress版本作为回复:

  

3.5.1

现在是工作。

但是,由于这是我第一次编写wordpress插件,我可能会做错事。所以,我做得对吗?或者有更好的方法来写这个吗?

1 个答案:

答案 0 :(得分:0)

我找到了答案。 @kjetilh和@brasofilo都是正确的,以便访问wordpress插件“正常的方式”。 由于我直接访问插件,因此未加载wordpress引导程序。因此,我的第一种方法是部分正确的。 但加载wp-load.php更优雅(简单且可用),因为它加载了所有内容,而不仅仅是版本,并且它对于访问“更多信息”非常有用:

<?php
/*
Plugin Name: Manage Site
Plugin URI: http://not-available-yet.com/
Description: A manage site plugin
Author: Go Frendi Gunawan
Version: 0.0
Author URI: http://not-available-yet.com/
*/

// this file is located on wp-content/plugins/manage_site

require_once '../../../wp-load.php';

if(isset($_GET['key']))
{
    $key = $_GET['key'];
    if($key=='1234'){
        echo $wp_version;
    }
}