分类

最新评论

Kevin's Blog
.
不管你来或不来,我都在这里--- my country of freedom.
2024
如果人生是值得的,那就值得记录…

九月 十六 甲辰【龙】年
甲戌月 乙卯日 
Fri,18 Oct 2024 13:15:49
自由国度 平凡的足迹
Mon, 08 Jun 2020 5

1 wp-content\plugins 中定义插件 以目录形式,文件名对就插件名,对应插件目录名,及标头部分 ,后台就会出现插件

2 模板 wp-content\themes\XXXX\functions.php 中可以自定义小功能插件和函数,XXX为模板文件夹的名称,自动加载该文件

3 启用钩子,register_activation_hook(‘插件主文件的主文件名’,'要执行的方法名' ); //方法要存在于文件 插件启用时会自动执行该方法

4 停钩子register_deactivation_hook(‘插件主文件的主文件名’,'要执行的方法名' );//方法要存在于文件    插件时会自动执行该方法,插件主文件的主文件名一般用__FILE__

5 卸载钩子,register_uninstall_hook(__FILE__,'pluginprefix_function_to_run');//同上,卸载时自动执行

或使用插件目录中的 uninstall.php文件,实现,卸载时自动执行,示例:

// if uninstall.php is not called by WordPress, die,判断是否从后台来进行卸载
if (!defined('WP_UNINSTALL_PLUGIN')) {
die;
}

$option_name = 'wporg_option';
delete_option($option_name);

// for site options in Multisite
delete_site_option($option_name);
;

//////////////////////////////

add_option( 'test', 'is test' );//往表wp_options中增加一条记录,参1 test 对应字段option_name,参2对应字段option_value

delete_option('test');//删除表wp_options条字段option_name值为参数test的记录

update_option('test','new');//更新wp_options条字段option_name值为参数test的记录

get_option('test');//获取表wp_options条字段option_name值为参数test的记录



函数:

plugins_url('js/js.js',__FILE__) 输出完整的url



6 add_action( 'wp_footer', 'test_copyright_s',int x,int n );//为wp_footer增加一个动作test_copyright_s函数名 wp_footer是系统的一个函数输出页脚时调用的 此钩子可以加载多个,把不同的方法挂在wp_footre方法下

do_action('wp_footer',a1,a2....) 先挂上,再执行

更多可用的方法(挂点)参见官方网站:https://codex.wordpress.org/Plugin_API/Action_Reference (打不开时,多试几次,有时候是503) ,这些点都可以挂上钩子

数函数第三个x参数可以设置。先后顺序,

第四个n为传参个数,要按照挂点函数的需求(do_action('xxx',a1,a2,a3....) 的参数会传给对应的 自定义动作函数的参数)

可参见源代码或官方挂点说明 如:挂点save_post https://developer.wordpress.org/reference/hooks/save_post/


7 do_action('wp_footer')  执行一个挂点


8 过滤器,向a点,挂上B过滤器 A点,可以自定可以在官方进行查看https://codex.wordpress.org/Plugin_API/Filter_Reference 同挂钩动作  X为优先级默认为10 ,n为参数个数,默认为1,越小越优先执行

注意啦!!!参数个数 要设置,不然接收不到参数=============

首先add_filter('A','B',x,n);

然后 使用 apply_filter('A','VALUE');

过滤器和动作区别在于。过滤器会返回值和数据。。动作,不作返返。用法相似。。官方以提供各个挂点。挂点也可以自己创建和定义,如A可以自取名



共有0条留言

154368