插件头信息
/*
Plugin Name: xl_test_plugins
Description: 我学习插件的测试插件
Version: 1.0
Author: 小柳
*/
—————————————————————–
//设置时区
date_default_timezone_set('Asia/Shanghai');
—————————————————————–
一些常用的钩子
init
wp_head
wp_enqueue_scripts
wp_footer
save_post 保存文章
wp_trash_post 文章被放入回收站
delete_post 文章被删除
wp_insert_comment 插入评论时候
user_register
remove_action() 移除动作
remove_all_action() 移除所有动作
—————————————————————–
// 定义插件启动时的方法
register_activation_hook( __FILE__, 'xl_sayhello');
function xl_sayhello(){
update_option( "xl_sayhello", "hello everyone" );
}
//定义插件停用时候调用的方法
register_deactivation_hook( __FILE__, 'xl_saygoodbye');
function xl_saygoodbye(){
update_option("xl_saygoodbye","goodbye");
}
—————————————————————–
uninstall.php 插件删除时候,删掉创建的数据
// 如果 uninstall 不是从 WordPress 调用,则退出
if( !defined( 'WP_UNINSTALL_PLUGIN' ) )
exit();
//删除插件创建的项目,以确保不占用数据库资源
delete_option( 'xl_sayhello' );
delete_option( 'xl_saygoodbye' );
—————————————————————–
//保存文章的时候,更新文章的修改时间
add_action( 'save_post', 'save_post_meta', 10, 2 );
function save_post_meta( $post_id, $post ) {
update_post_meta( $post_id, "save-time", "更新时间:" . date("Y-m-d H:i:s") );
}
//在输出内容之前,给页面管理添加摘要功能
add_action( 'init', 'hc_add_excerpts_to_pages' );
function hc_add_excerpts_to_pages() {
//给页面管理添加摘要的功能
add_post_type_support( 'page', array( 'excerpt' ) );
}
//wp_head钩子
add_action('wp_head','hc_wp_head');
function hc_wp_head() {
//只有首页输出描述
if( is_home() ){ ?>
<meta name="description" content="<? bloginfo('description'); ?>" />
<? }
}
//自定义引用样式表
function hc_enqueue_style() {
wp_enqueue_style( 'core', plugins_url('css/hc_copyrighy.css', __FILE__) , false );
}
//自定义引用脚本文件
function hc_enqueue_script() {
wp_enqueue_script( 'my-js', plugins_url('js/hc_copyrighy.js', __FILE__), false );
}
//引用文件的钩子
add_action( 'wp_enqueue_scripts', 'hc_enqueue_style', 5 );
add_action( 'wp_enqueue_scripts', 'hc_enqueue_script', 7 );
//删除所有挂载在 wp_enqueue_scripts 钩子上的方法
remove_all_actions( 'wp_enqueue_scripts', 5 );
//评论被添加的时候触发
add_action( 'wp_insert_comment', 'comment_inserted', 10, 2 );
//移除 wp_insert_comment 钩子上的 comment_inserted 方法
remove_action( 'wp_insert_comment', 'comment_inserted', 10 );
function comment_inserted($comment_id, $comment_object ) {
//获取该评论所在文章的评论总数
$comments_count = wp_count_comments( $comment_object->comment_post_ID );
$commentarr = array();
$commentarr['comment_ID'] = $comment_id;
//修改评论的内容,在评论内容前加上 “第{$comments_count->total_comments}个评论:” 这么一段字符串
$commentarr['comment_content'] = "第{$comments_count->total_comments}个评论:" . $comment_object->comment_content;
wp_update_comment( $commentarr );
}
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {
//将新用户的个人说明,设置为注册时间
wp_update_user( array( 'ID' => $user_id, 'description' => "注册时间:" . date("Y-m-d H:i:s") ) );
}
—————————————————————–
原文链接:https://blog.csdn.net/liu709127859/article/details/84064803?ops_request_misc=&request_id=e9a058790e6944ca8c6da8b2af8955d5&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-1-84064803-null-null.268%5Ev1%5Econtrol&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81