这听起来像是一个愚蠢的问题,但我一直在寻找答案,却什么也找不到。我确实找到了一些东西,我试过了,但没有成功,或者很模糊。
Content
<我的问题我试了什么怎么办我有一个文件夹,用于存放所有与短代码相关的函数和文件,因此我不需要离开该文件夹即可获取我的
styles.css
或我的scripts.js
.我尝试通过各种尝试链接到它们,但似乎没有任何效果。
我使用basic<link>
和<script>
标记以链接到标记内的文件,显然不起作用。
在我初始化短代码的文件中:
add_action( "wp_enqueue_scripts", "registerScriptsStyles" );
public function registerScriptsStyles() {
wp_register_script( \'iw_ShortcodeScript\', plugins_url("ShortcodeScript.js", __FILE__ ), "", "1.0.1", true );
wp_register_style( \'iw_ShortcodeStyle\', plugins_url("ShortcodeStyle.css", __FILE__ ), "", "1.0.1" );
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
}
不起作用。所以我试过了add_action( "init", "registerScriptsStyles" );
add_action( "wp_qneueue_scripts", "enqueueScriptsStyles" );
public function registerScriptsStyles() {
wp_register_script( \'iw_ShortcodeScript\', plugins_url("ShortcodeScript.js", __FILE__ ), "", "1.0.1", true );
wp_register_style( \'iw_ShortcodeStyle\', plugins_url("ShortcodeStyle.css", __FILE__ ), "", "1.0.1" );
}
public function enqueueScriptsStyles() {
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
}
也不起作用。我在某个地方读到,我需要将它们排在我想要的页面中,所以我尝试将它们排在短代码的标记中,这也不起作用。
接下来,我尝试将它们放入需要我的短代码的函数中。
add_shortcode( "Info_Wheel", array( $this, "layout" ) );
public function layout() {
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
require $this->iw_plugin_path . "/Blocks/Pages/ShortcodeAPI/ShortcodeLayout.php";
}
也不起作用。怎么办
同样,短代码可以工作并显示出来,唯一的问题是没有加载样式和脚本。下面是我在编辑器中为短代码API编写的当前代码
如果有人能帮我,那就太好了。
<?php
namespace Blocks\\Pages\\ShortcodeAPI;
use Blocks\\Base\\Controller;
class Shortcode extends Controller {
public function register() {
add_action( "init", "registerScriptsStyles" );
// add_action( "wp_qneueue_scripts", "enqueueScriptsStyles" );
add_shortcode( "Info_Wheel", array( $this, "layout" ) );
}
public function layout() {
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
require $this->iw_plugin_path . "/Blocks/Pages/ShortcodeAPI/ShortcodeLayout.php";
}
public function registerScriptsStyles() {
wp_register_script( \'iw_ShortcodeScript\', plugins_url("ShortcodeScript.js", __FILE__ ), "", "1.0.1", true );
wp_register_style( \'iw_ShortcodeStyle\', plugins_url("ShortcodeStyle.css", __FILE__ ), "", "1.0.1" );
}
public function enqueueScriptsStyles() {
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
}
}
已修复
这是我为修复此问题所做的,就像在回答的评论中已经建议的那样。还有一件事,直到不久前才有人注意到,我在钩子里输入错误了。你仍然可以在上面看到它所有代码都在我的短代码中。php文件。
class Shortcode extends Controller {
public function register() {
add_action( "wp_enqueue_scripts", array($this, "registerScriptsStyles" ) );
add_action( "wp_enqueue_scripts", array($this, "enqueueScriptsStyles" ) );
add_shortcode( "Info_Wheel", array( $this, "layout" ) );
}
public function layout() : string {
ob_start();
require $this->iw_plugin_path . "/Blocks/Pages/ShortcodeAPI/ShortcodeLayout.php";
return ob_get_clean();
}
public function registerScriptsStyles() {
wp_register_script( \'iw_ShortcodeScript\', plugins_url( "/Blocks/Pages/ShortcodeAPI/ShortcodeScript.js", $this->iw_plugin_path . "Info-Wheel.php"), array(), "1.0.1", true);
wp_register_style( \'iw_ShortcodeStyle\', plugins_url( "/Blocks/Pages/ShortcodeAPI/ShortcodeStyle.css", $this->iw_plugin_path . "Info-Wheel.php"), array(), "1.0.1");
}
public function enqueueScriptsStyles() {
wp_enqueue_script( \'iw_ShortcodeScript\' );
wp_enqueue_style( \'iw_ShortcodeStyle\' );
}
}