因此,我在单独的php文件中编写了几个类,以帮助我在用户填写插件选项页面上的表单时进行API调用。 我还有一个配置文件,其中包含一些我希望包含在选项页面中的变量。 我遇到的问题是,当我需要文件时,它们似乎包括好,因为没有致命错误,但是没有任何变量或类可用于我挂钩到动作'admin_menu'的函数。 / p>
require_once( plugin_dir_path( __DIR__ ) . 'product-dyno/config.php');
require_once( plugin_dir_path( __DIR__ ) . 'product-dyno/license.php');
require_once( plugin_dir_path( __DIR__ ) . 'product-dyno/member.php');
function product_dyno_plugin_menu() {
add_options_page( 'Product Dyno Options', 'Product Dyno',
'manage_options', 'activate-plugin-with-product-dyno',
'product_dyno_options' );
}
add_action( 'admin_menu', 'product_dyno_plugin_menu' );
function product_dyno_options() {
$license = new License();
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<h2>Activate plugin '.$PLUGIN_NAME.'</h2>';
echo '</div>';
.......
config.php需要$ PLUGIN_NAME,我收到的变量是未定义的错误。
奇怪的是,类似乎确实被包含在内,因为在类的构造函数中使用的变量(也包含在config.php中)也返回为undefined。
我认为这与已发送的标题或wp操作的顺序有关,但我真的无法解决,我在任何论坛上都找不到类似的问题!
任何指针都会非常感激!
答案 0 :(得分:0)
我认为,$ plugin_name在config.php文件中定义,此文件中定义的所有值在过程函数中都不可用。
有两种获取功能数据的方法:
要使用global:在product_dyno_options()的顶部,请添加global $PLUGIN_NAME;
。
如果config.php在一个类中,请使用与许可证相同的方法。在函数
中$config = new config ();
然后在你想要的地方之后调用它:
$config->plugin_name;
希望有所帮助