作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码片段,用于在 WordPress 管理区域的设置页面上包含样式和 java 脚本。我有一个带有单例的类,用于启动我的管理页面。我删除了除所需代码之外的所有内容,以使其更具可读性。
我遇到的问题是,通过使用下面的设置,设置页面上的样式表被放置在页面底部而不是页面头部。我可以通过使用其他 Action Hook 将它放在标题中,但这会破坏目的。据我所知,我使用的设置与 wp_enqueue_style 命令中描述的设置相同。
命令“wp_enqueue_style() 现在可以在中间页面(在 HTML 正文中)调用。这将在页脚中加载样式。”有一个小提示。如果那是真的,那将意味着“admin_print_scripts-*” Hook 在页面中间某处而不是在开头调用,这样做会将 css 放在页脚中。
对此有任何想法。我做错了什么?
感谢您的宝贵时间。
这是在 functions.php 文件中调用单例类的方式
theme::instance( );
这是我用来创建管理页面的类的一部分
class theme {
static public function instance( )
{
is_null( self::$instance ) AND self::$instance = new self;
return self::$instance;
}
public function __construct()
{
add_action( 'admin_menu', array( $this, 'initMenu' ), 10, 0 );
add_action( 'admin_init', array( $this, 'registerAssets' ), 10, 0 );
}
public function registerAssets( )
{
// Styles
wp_register_style( 'cen', 'style.css', array( ), '1.0' );
wp_register_style( 'cen-settings', 'settings.css', array( 'cen' ), '1.0' );
// Scripts
wp_register_script( 'cen', 'settings.js', array( 'jquery' ), '1.0', true );
}
public function initMenu( )
{
// Index page
$index =add_menu_page( 'Cen', 'Cen', 'manage_options', 'cen-index', function (){ require_once( get_template_directory( ) . '/pages/index.php' ); }, get_template_directory_uri() . '/images/icons/logo_16.png', "110.00" );
// Settings page
$settings =add_submenu_page( 'cen-index', 'Cen - Settings', 'cen' ), 'Settings', 'manage_options', 'cen-settings', function (){ require_once( get_template_directory( ) . '/pages/settings.php' ); } );
// Add action for assets on the settings page
add_action( 'admin_print_scripts-' . $settings, array( $this, 'initSettingsPage' ));
}
public function initSettingsPage( )
{
// Styles used
wp_enqueue_style( 'cen' );
wp_enqueue_style( 'cen-settings' );
// Scripts used
wp_enqueue_script( 'jquery-ui-tabs' );
wp_enqueue_script( 'cen' );
}
}
最佳答案
您使用的操作 Hook admin_print_scripts
用于添加内联脚本,因此强烈建议使用 admin_enqueue_scripts
在管理中排队脚本/样式。尝试一下。希望它有效!
关于css - wp_enqueue_style 将 css 放在页脚而不是页眉中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22528697/
我是一名优秀的程序员,十分优秀!