我想为我自己的所有基于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插件,我可能会做错事。所以,我做得对吗?或者有更好的方法来写这个吗?
答案 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;
}
}