古怪猴子手机客户端:wordpress插件 知識點

独家真实传授pt古怪猴子玩法规律 www.cfrtc.icu 1 插件頭信息,有這些信息wordpress才能識別 /*Plugin Name: yw-copyrightPlugin URI: //favoriteposts.com…

1 插件頭信息,有這些信息wordpress才能識別

/*
Plugin Name: yw-copyright
Plugin URI: //favoriteposts.com
Description: Simple and flexible favorite buttons for any post type.
Version: 2.2.0
Author: Kyle Phillips
Domain Path: /languages/
License: GPLv2 or later.
*/

2  插件啟動 插件停止時候執行 方法

//定義插件啟動時候調用的方法
register_activation_hook( __FILE__, 'hc_copyright_install');

function hc_copyright_install() {
    //插件啟動,添加一個默認的版權信息
    update_option( "hc_copyright_text", "<p style='color:red'>本站點所有文章均為原創,轉載請注明出處!</p>" );
    }

//定義插件停用時候調用的方法
register_deactivation_hook( __FILE__, 'hc_copyright_deactivation');

function hc_copyright_deactivation() {
        //插件停用,設置停用標識為1
    update_option( "hc_copyright_deactivation", "yes" );
}

3 插件刪除時候,執行的方法

 根目錄下創建文件 uninstall.php 當我們從wp控制臺執行刪除插件操作時候,就會執行下面的代碼

代碼

<?php
//判斷是否是從wordpress后臺刪除的插件
if(!defined('WP_UNINSTALL_PLUGIN'))
    die();
delete_option("yw_copyright");//刪除數據
delete_option("yw_copyright_text");

4 插件 鉤子

add_action("wp_footer","yw_copyright_insert");
function yw_copyright_insert(){
    echo get_option("yw_copyright_text");
}
add_action("wp_footer","yw_copyright_insert_new");
function yw_copyright_insert_new(){
    echo "<script>alert('test');</script>";
}

執行

    <? do_action('wp_footer'); ?>

5 帶參數的 do_action 保存文章時候 更新自定義欄目

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") );
    
}

6 設置正確的時區

插件首行,注釋的下面加上

//設置時區為 亞洲/上海
date_default_timezone_set('Asia/Shanghai');

7 常用的鉤子

初始化的一些常用鉤子

//在輸出內容之前,給頁面管理添加摘要功能
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'); ?>" />
    <? }

}

添加 css js文件

//自定義引用樣式表
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 );

文章操作的相關鉤子

save_post 保存文章時候  wp_trash_post 文章移動到回收站 delete_post 刪除文章時候

評論添加時候出發

//評論被添加的時候觸發
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") ) );
    
}
———————
作者:liu709127859
來源:CSDN
原文:https://blog.csdn.net/liu709127859/article/details/81460413
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

為您推薦

返回頂部