我正在尝试为短代码创建一个插件。但我的激活钩不起作用。插件在我的wp admin/plugins
页面中被激活,但在我的代码中没有任何东西可以工作,比如:我的enqueue
if (!class_exists( 'DiliviBlocks' )) {
class DiliviBlocks {
public function __construct() {
$this->setup_actions();
$this->plugin_dir = plugin_dir_path(__FILE__);
}
/**
* Setting up Hooks
*/
public function setup_actions() {
register_activation_hook( plugin_dir_path(__FILE__), array( $this, 'activate_plugin' ) );
}
/**
* Activate callback
*/
public function activate_plugin() {
add_action( 'wp_enqueue_scripts', array($this, 'dilivi_blocks_scripts') );
add_shortcode( 'vans_search_form', array($this, 'vans_search_form_shortcode') );
}
public function dilivi_blocks_scripts() {
wp_enqueue_style( 'dilivi-blocks-plugin-css', plugin_dir_path(__FILE__) . '/assets/css/styles.css');
wp_enqueue_script( 'dilivi-blocks-plugin-jquery', plugin_dir_path(__FILE__) . '/assets/js/jquery.js' );
wp_enqueue_script( 'dilivi-blocks-plugin-js', plugin_dir_path(__FILE__) . '/assets/js/scripts.js' );
}
public function vans_search_form_shortcode($atts) {
return 'Hello World';
}
}
$diliviBlocks = new DiliviBlocks();
}
请帮帮我。我卡住了
文档说明您只需要插件目录名和初始文件名。您不应该包括它的整个路径。
如果你的插件只包含文件,而不仅仅是__FILE__
就足够了。
在您的情况下,它可能是类似于dilivi-block/divili-blocks.php
。
另外,请注意,函数只会执行一次--当您的插件被激活时。如果它已经处于活动状态,函数将不会执行。您应该知道,每次页面加载时都必须进行排队样式表等操作,因此将它们绑定到一次性钩子上是行不通的。应该为此使用wp_enqueue_scripts
钩子。
我写我的第一个WordPress插件和有问题的register_activation_hook......我想要的是在register_activation_hook中声明一个变量,并在其中一个菜单页面上进行响应。 我已经把我的代码分解成单独的文件,并在下面的两个文件中包含了一个简短的版本: 在test_plugin_settings.php我使用: 我知道test_plugin_settings
我目前正在写一个wordpress插件,我遇到了一些问题。我的功能在插件激活时不运行。。。谁能告诉我问题出在哪里? 但不幸的是,安装功能不起作用......但当外部类中的代码安装功能是工作
我有两台服务器: 1)PHP版本7.0.28-1~dotdeb 8.1 System Linux online 3.16。0-4-amd64#1 SMP Debian 3.16。51-2(2017-12-03)x86_64服务器API FPM/FastCGI虚拟目录支持禁用配置文件(php.ini)路径/etc/php/7.0/FPM 2)PHP版本5.6.34-1~dotdeb 7.1 Syst
我使用的是Laravel6.5,这对PHP和Laravel来说还是新的。当我成功注册时,它会将我返回到相同的注册表单,其输入为空。它成功注册了用户tho,但不会重定向。我也尝试过重写redirectPath()函数,但该函数不起作用。 当我尝试重写其他方法(如ShowRegistrationForm())时,它工作得很好,但我无法让它重定向。 重定向对登录控制器非常有效。 这是我的ontrolle
Vim 可以将不同字段剪切或复制到不同寄存器中,您可以从不同寄存器中取出内容后粘贴 "寄存器名称 按下"键和另一个字符键,便可以定义一个寄存器。例如:"a "1 定义寄存器后直接进行操作 "ayy 将当前行复制到寄存器 a 中 "ap 将寄存器 a 中的内容粘贴到光标之后 :registers 查看所有寄存器的内容 通常情况下,寄存器 + (先按",再按 Shift+= )对应
我通过以下方式添加了一个关机挂钩: 它正常工作正常,但当我在Eclipse中单击红色的停止按钮时就不行了。有没有办法在Eclipse中调用关闭挂钩?