我正在创建一个wordpress插件,用户可以从插件选项面板中选择不同的样式。我想根据用户输入通过wp_enqueue_style()
将css文件排入队列。
当我想在插件php文件中获取元数据值时,我收到错误。
错误说:
Calling undefined variable $... on line no ..."
有没有办法可以在php文件中获取metabox的值,并根据仪表板上的用户输入将相应的css文件排入队列。
我正在使用Custom-Metaboxes-and-Fields-for-WordPress插件从插件选项面板中检索用户输入
我的代码:
function easyloader_theme() {
global $post;
$theme = easyloader_get_option( 'easyloader_theme' );
wp_register_style('easyloader_style', plugins_url('themes/pace-theme-'. $theme .'.css',__FILE__),'','1.0.0.', false);
wp_enqueue_style('easyloader_style');
}
add_action( 'init', 'easyloader_theme');
当我将此代码粘贴到主题php文件(例如header.php,page.php,footer.php)中时,我可以很容易地获得此用户输入的值
<?php global $post; $theme = easyloader_get_option( 'easyloader_theme' ); echo $theme; ?>
我只想在我的插件php文件中获取不在主题文件中的值。
答案 0 :(得分:1)
排队的正确方法是采取以下行动:
add_action( 'wp_enqueue_scripts', 'easyloader_theme' );
function easyloader_theme() {
/* Enqueue Scripts AND Styles */
}
看起来这个插件有一些内部缓存,但最后你可以尝试直接使用WP函数:
get_option( 'easyloader_theme' );