除非已登录,否则不会加载自定义Wordpress插件

时间:2015-12-03 10:58:31

标签: wordpress plugins wordpress-plugin

所以我正在为一个客户开发一个Wordpress(4.3.1)插件,一切都进展顺利,直到有时间将插件设置为生产。

请记住,我遗憾地无法访问服务器配置,但我确信生产和测试服务器应该是相同的。

我们在生产服务器上测试插件时发现的是,除非用户登录,否则插件不会运行(这是一个很大的问题,因为此站点的用户无法登录)。

我首先想到的只是没有加载的过滤器所以我尝试将PHP_INT_MAX添加到最重要的过滤器优先级参数而没有任何运气。

请注意,如果您已登录,插件仍然可以正常运行,因此我认为它必须与Wordpress处理和加载插件的方式有关。

有没有人对这样的问题有很好的洞察力,因为我的谷歌搜索一次又一次没有结果。

这是我的插件加载文件的样子:

// First things first no access from the outside, please!
if (!defined('ABSPATH'))
    exit;

// Make things easier with a proper separator
define('DS', DIRECTORY_SEPARATOR);

// Where am I?
$pluginPath = plugin_dir_path( __FILE__ );

// Add required files, thank you
require_once( $pluginPath . 'Admin'     . DS . 'class-pluginAdmin.php');
require_once( $pluginPath . 'Includes'  . DS . 'class-pluginUser.php');

// Instantiate OOP handlers
$ictph  = new pluginUser();
$ictpah = new pluginAdmin();


/*
 * Finally lets add our stuff to WP!
 * This is where we define ALL short codes, actions and filters(if any)!
 */

// SHORT CODES
add_shortcode('ctp_frontpage_login', array($ictph, 'getFrontpageLink'));

// ACTION
// Add custom CSS
add_action('init', array($ictph, 'setCustomCss'));
// Create Session Handling
add_action('init', array($ictph, 'startIctpSession'), 1);
add_action('wp_login', array($ictph, 'endIctpSession'));
add_action('wp_logout', array($ictph, 'endIctpSession'));
add_action('parse_request', array($ictph, 'ictpPluginParseRequest'));
add_action('query_vars', array($ictph, 'ictpPluginQueryVars'));
add_action('admin_menu', array($ictpah, 'buildAdminPanel'));

// FILTERS
add_filter('the_content', array($ictph, 'addLoginToContent'), 20);

1 个答案:

答案 0 :(得分:0)

看起来像PHP_INT_MAX不是那种方式去我解决它只需从19及以上的过滤器。