WP_ENQUEUE_MEDIA未加载样式

时间:2020-03-16 作者:iDev

我试图使用Wordpress默认媒体上传器从前端上传图像,所以我使用了wp\\u enqueue\\u media()。它导入所有脚本,但不导入样式。请参见下面的屏幕截图wordpress media uploader

使用inspect工具后,我发现它没有加载加载样式。wp中的php包括。如何修复此问题?

1 个回复
最合适的回答,由SO网友:Audi Lu 整理而成

您需要加载一些wp管理样式。

因为我找不到任何方法让wp\\u enqueue\\u style()接受url参数,所以我在这里通过wp\\u head hook函数加载样式。

add_action( \'wp_head\', \'load_admin_media_styles\', 10);
function load_admin_media_styles(){
    // list all style libs the post page of wp-admin loaded, but we may only need to load 2 of them
    $ary_libs = array(
        \'common\',\'forms\',
        // \'dashicons\', \'admin-bar\',\'buttons\',\'media-views\',
        // \'admin-menu\',\'dashboard\',\'list-tables\',\'edit\',\'revisions\',\'media\',\'themes\',\'about\',\'nav-menu\',
        // \'s\',\'wp-pointer\',\'widgets\',\'site-icon\',\'l10n\',\'wp-auth-check\',\'wp-color-picker\'
    );
    $admin_media_styles_url = add_query_arg(
        array(
            \'c\' => 0,
            \'dir\' => \'ltr\',
            \'load[]\' => implode(\',\', $ary_libs),
            \'ver\' => \'you_wp_version\'
        ),
        admin_url().\'load-styles.php\'
    );
    echo "<link rel=\'stylesheet\' id=\'admin_styles_for_media-css\' href=\'".$admin_media_styles_url."\' type=\'text/css\' media=\'all\' />";
}
我在我的localhost中进行了尝试,效果很好,希望这对您有所帮助。

相关推荐

可以在块编辑器样式表中使用POST-TYPE作为css选择器的一部分吗?

我正在为块编辑器编写一个编辑器样式表,以更好地反映编辑器中我的主题的布局,并且我需要能够在其中处理不同的帖子类型。在前端,有body_class() 函数,其中插入一个类,该类用于标识post类型,并可在组合选择器中使用,以仅在特定post类型中寻址某些元素。post type类位于body 显示编辑器的页面标记,但样式表中的编辑器CSS显然是以一种“隔离”的方式应用的–组合选择器,包括body 标记在编辑器中不起作用。因此,我正在寻找类似的东西,它将在块编辑器中工作,以便我可以在组合选择器中使用它,该选