如何在WordPress中从CLI启动脚本

时间:2016-12-20 作者:radscheit

嘿,我写了一个php脚本,它是一个WP Cron cronjob,使用wordpress特定的函数。由于其运行时环境中的一些限制,我需要使用从cli启动此脚本/usr/bin/php -q longThing.php 而不是作为WP Cron事件。如何确保所有wordpress核心函数都可以在脚本中调用?

1 个回复
SO网友:radscheit

Xaedes解决方案https://wordpress.stackexchange.com/a/76466/107596 效果很好:

<?php
    if( php_sapi_name() !== \'cli\' ) {
        die("Meant to be run from command line");
    }

    function find_wordpress_base_path() {
        $dir = dirname(__FILE__);
        do {
            //it is possible to check for other files here
            if( file_exists($dir."/wp-config.php") ) {
                return $dir;
            }
        } while( $dir = realpath("$dir/..") );
        return null;
    }

    define( \'BASE_PATH\', find_wordpress_base_path()."/" );
    define(\'WP_USE_THEMES\', false);
    global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;
    require(BASE_PATH . \'wp-load.php\');