这个 Genesis PHP WordPress 插件代码有什么问题?
What's wrong with this Genesis PHP WordPress plugin code?
<?php
/*
* Plugin Name: Add Fontawesome Animation
* Plugin URI: ...
* Description: This plugin is used to animate Fontawesome icons
* Version: 1.0.0
* Author: ...
* Author URI: ...
* License: GPLv2
* * */
// Enqueue font-awesome-animation.css
add_action( 'wp_enqueue_style', 'add_fontawesome_animation' );
function add_fontawesome_animation() {
wp_enqueue_style('font_awesome_animation', get_stylesheet_directory_uri() . '/css/font-awesome-animation.css' );
}
Objective:加载 font-awesome-animation.css 以便 FontAwesome 图标可以动画化。
使用:PhpStorm 和刚刚开始使用 Genesis。我正在使用 genesis-sample 子主题,并且在大多数情况下一切都相当顺利地发布帖子并学习使用代码来 mod 模板。
当我 @import url("css/font-awesome-animation.css") 到 style.css 文件中时,FontAwesome 图标会动画,否则我无法将 font-awesome-animation.css 来自 functions.php 或如上所示的插件。我在编辑器或页面中没有发现任何可观察到的错误,当 PHP 中出现错误时,我也没有得到典型的全白页面。有些东西是 FUBAR,我还不知道如何在 WordPress 中进行这种类型的调试,所以我需要知道代码可能有什么问题以及有关如何调试这种 SNAFU 类型的建议。是否有某种类型的 Response.Write 可以用来显示路径等?
尝试将您正在使用的挂钩更改为 wp_enqueue_scripts
。来自 codex:
wp_enqueue_scripts is the proper hook to use when enqueuing items that
are meant to appear on the front end. Despite the name, it is used for
enqueuing both scripts and styles.
此外,如果您正在制作插件,get_stylesheet_directory_uri()
将不适合您。这仅适用于 themes/child 主题。如果你从你的主插件文件中调用它,你可以使用 plugin_dir_url( __FILE__ )
代替。同样,来自 the codex:
Gets the URL (with trailing slash) for the plugin FILE passed in
在这种情况下,我们传递 PHP magic constant __FILE__
以获取主插件文件的 uri 并带有尾部斜杠 .
因此您的代码如下所示:
<?php
// Enqueue font-awesome-animation.css
add_action( 'wp_enqueue_scripts', 'add_fontawesome_animation' );
function add_fontawesome_animation() {
wp_enqueue_style('font_awesome_animation', plugin_dir_url( __FILE__ ) . 'css/font-awesome-animation.css' );
}
<?php
/*
* Plugin Name: Add Fontawesome Animation
* Plugin URI: ...
* Description: This plugin is used to animate Fontawesome icons
* Version: 1.0.0
* Author: ...
* Author URI: ...
* License: GPLv2
* * */
// Enqueue font-awesome-animation.css
add_action( 'wp_enqueue_style', 'add_fontawesome_animation' );
function add_fontawesome_animation() {
wp_enqueue_style('font_awesome_animation', get_stylesheet_directory_uri() . '/css/font-awesome-animation.css' );
}
Objective:加载 font-awesome-animation.css 以便 FontAwesome 图标可以动画化。
使用:PhpStorm 和刚刚开始使用 Genesis。我正在使用 genesis-sample 子主题,并且在大多数情况下一切都相当顺利地发布帖子并学习使用代码来 mod 模板。
当我 @import url("css/font-awesome-animation.css") 到 style.css 文件中时,FontAwesome 图标会动画,否则我无法将 font-awesome-animation.css 来自 functions.php 或如上所示的插件。我在编辑器或页面中没有发现任何可观察到的错误,当 PHP 中出现错误时,我也没有得到典型的全白页面。有些东西是 FUBAR,我还不知道如何在 WordPress 中进行这种类型的调试,所以我需要知道代码可能有什么问题以及有关如何调试这种 SNAFU 类型的建议。是否有某种类型的 Response.Write 可以用来显示路径等?
尝试将您正在使用的挂钩更改为 wp_enqueue_scripts
。来自 codex:
wp_enqueue_scripts is the proper hook to use when enqueuing items that are meant to appear on the front end. Despite the name, it is used for enqueuing both scripts and styles.
此外,如果您正在制作插件,get_stylesheet_directory_uri()
将不适合您。这仅适用于 themes/child 主题。如果你从你的主插件文件中调用它,你可以使用 plugin_dir_url( __FILE__ )
代替。同样,来自 the codex:
Gets the URL (with trailing slash) for the plugin FILE passed in
在这种情况下,我们传递 PHP magic constant __FILE__
以获取主插件文件的 uri 并带有尾部斜杠 .
因此您的代码如下所示:
<?php
// Enqueue font-awesome-animation.css
add_action( 'wp_enqueue_scripts', 'add_fontawesome_animation' );
function add_fontawesome_animation() {
wp_enqueue_style('font_awesome_animation', plugin_dir_url( __FILE__ ) . 'css/font-awesome-animation.css' );
}