css - wp_enqueue_style 不起作用

标签 css wordpress

首先,我试过这个但没有用:“https://wordpress.stackexchange.com/questions/89494/how-to-enqueue-the-style-using-wp-enqueue-style/89495#89495”。

我想要做的是一个带有独特页面(选项页面)的插件,我试图在 head 标签中插入一个 <link href="my_dir/css/style.css"/> .我的插件的前缀是 easydm 并且在主文件中有以下代码:

define( 'EASYDM_VERSION', '1.0' );
define( 'EASYDM__MINIMUM_WP_VERSION', '2.1' );
define( 'EASYDM_DIRECTORY_NAME', 'easy-downloader-manager/' );

define( 'EASYDM_ROOT_DIRECTORY', substr( plugin_dir_path( __FILE__ ), 0, strpos( plugin_dir_path( __FILE__ ), EASYDM_DIRECTORY_NAME ) ) );

define( 'EASYDM_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'EASYDM_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );

define( 'EASYDM_SETTINGS_URL', plugin_dir_url( __FILE__ ).'settings/' );
define( 'EASYDM_SETTINGS_DIR', plugin_dir_path( __FILE__ ).'settings/' );
define( 'EASYDM_SETTINGS_PATH', 'settings/' );

define( 'EASYDM_CSS_URL', plugin_dir_url( __FILE__ ).'css/' );
define( 'EASYDM_CSS_DIR', plugin_dir_path( __FILE__ ).'css/' );
define( 'EASYDM_CSS_PATH', 'css/' );    

require_once EASYDM_SETTINGS_DIR.'easydm-functions.php';

register_activation_hook( __FILE__, 'easydm_activation');

add_action( 'wp_enqueue_scripts', 'easydm_add_link_tag_to_head' );

我的 easydm-functions.php 有:

function easydm_add_link_tag_to_head() {
    wp_enqueue_style( 'style', get_plugin_directory_uri().'/'.EASYDM_DIRECTORY_NAME.EASYDM_CSS_PATH.'style.css' );
}

这是我最后一次尝试,但我在 wp_enqueue_style() 函数上尝试了一些其他参数。

有帮助吗?

谢谢

--- 编辑---

这里有一个可能的解决方法。事实上,我部分地解决了这个问题。现在我需要剪切一个附加到我的链接的字符串。看到:

https://wordpress.stackexchange.com/questions/219911/enqueue-script-style-plungin-development/219914?noredirect=1#comment322394_219914

---再次编辑---

我找到了这个 http://wpcrux.com/wordpress-enqueue-functions-version/是什么解决了上述新问题...但仍然没有设计我的页面...我检查了路径是否正确,我的文件是否存在,不为空或类似的任何错误。

有什么想法吗?

最佳答案

已解决!!!

wp_enqueue_style 函数的文档清楚地表明第二个参数需要是根安装 WordPress 的相对路径。但是当我在使用完整路径的教程中查看许多示例时,我忽略了它。现在,定义这个常量和之前的所有步骤一切正常。

define( 'EASYDM_CSS_PATH' , str_replace( site_url().'/', '', plugin_dir_url( __FILE__ ) ).'css/' );

在函数中:

wp_enqueue_style( 'easydm-style', '/'.EASYDM_CSS_PATH.'style.css', array(), null, 'all' );

所以,如果有人厌倦了寻找并且不想阅读所有讨论,那么最终代码是:

define( 'EASYDM_CSS_PATH' , str_replace( site_url().'/', '', plugin_dir_url( __FILE__ ) ).'css/' );
add_action( 'admin_enqueue_scripts', 'easydm_add_link_tag_to_head' );

函数文件:

function easydm_add_link_tag_to_head() {
    wp_enqueue_style( 'easydm-style', '/'.EASYDM_CSS_PATH.'style.css', array(), null, 'all' );
    wp_enqueue_style( 'easydm-manager', '/'.EASYDM_CSS_PATH.'manager.css', array(), null, 'all' );
}

我在其中添加两种样式。我真的希望这对某人有所帮助。谢谢大家!

关于css - wp_enqueue_style 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733732/

相关文章:

php - WordPress自定义主题白色背景问题

php - WordPress 中点击时的多个 JavaScript 函数

php - yii2 radioList 内联表单域

html - 为什么我的 Flash 动画覆盖了我的 div 位置?

WordPress 从 URL 获取类别 ID

php - 权限 - Wordpress 无法写入父目录

wordpress 菜单中的 CSS 类不起作用

css - 将鼠标悬停在链接和 div 上更改内容

html - 全屏 3 列,可堆叠在移动设备上

javascript - Jquery UI 日期选择器显示在移动设备的底部