根据用户通过元框输入,在wordpress中排列不同的样式表

时间:2014-05-15 15:21:44

标签: php wordpress plugins

我正在创建一个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文件中获取不在主题文件中的值。

1 个答案:

答案 0 :(得分:1)

排队的正确方法是采取以下行动:

add_action( 'wp_enqueue_scripts', 'easyloader_theme' );
function easyloader_theme() { 
    /* Enqueue Scripts AND Styles */ 
}

看起来这个插件有一些内部缓存,但最后你可以尝试直接使用WP函数:

get_option( 'easyloader_theme' );