我有一个Php脚本,我想用它在WPMU中创建一个新的博客.我无法调用像wpmu_create_user和wpmu_create_blog这样的wordpress函数.
我希望从命令行将此脚本作为cron作业运行,从外部数据库中获取新的博客创建请求,使用wordpress函数创建新博客并使用新的博客信息更新数据库.
Pra*_*eka 41
在php脚本文件中包含wp-load.php文件(在wordpress安装的根目录中),如下所示,
require_once("/path/to/wordpress/wp-load.php");
Run Code Online (Sandbox Code Playgroud)
你将不得不提供wp-load文件的abspath,现在你可以在php脚本中使用wordpress的所有功能了
pie*_*e6k 29
我有通用的解决方案,可以在文件wp-content
夹内的任何PHP文件中工作,无需任何调整或需要知道什么是神秘的'path/to/wordpress'
require_once(explode("wp-content", __FILE__)[0] . "wp-load.php");
Run Code Online (Sandbox Code Playgroud)
它只是自动上升到wordpress的根目录并加载wp-load.php
你可以随便粘贴它,无论它的插件或主题文件是否有效.
我认为../../../..
看起来非常糟糕的东西,当你修改你的主题/插件文件夹的结构时,你会发疯.
注意:此解决方案假定您未重命名wp-content
文件夹.
小智 15
对于wordpress 3.1,我必须指定主机/域,因为wp-includes/ms-settings.php:100需要它或它死掉.所以我的脚本看起来像(注意我在网络/多博客网站上使用它):
#!/usr/bin/php -q
<?php
#for multi-blog only
$blog_id = 1;
#specify host or domain (needed for wp-includes/ms-settings.php:100)
$_SERVER[ 'HTTP_HOST' ] = 'localhost';
#location of wp-load.php so we have access to database and $wpdb object
$wp_load_loc = "/path/to/wordpress/wp-load.php";
require_once($wp_load_loc);
#for multi-blog only
switch_to_blog($blog_id);
#test to make sure we can access database
echo $wpdb->prefix;
?>
Run Code Online (Sandbox Code Playgroud)
小智 5
这应该工作:
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
Run Code Online (Sandbox Code Playgroud)
即当php脚本在同一服务器上并且WP安装在根目录上时。像大多数情况一样。
归档时间: |
|
查看次数: |
51936 次 |
最近记录: |