WordPress自定义插件栏目广告

文章描述:

WordPress自定义插件开发栏目广告管理

 

1、新建插件在wp-content/plugins下面新建ad/ad.php文件

2、插件代码:

插件名称、地址、作者

/*
Plugin Name: 栏目广告插件
Plugin URI: Your Plugin Url
Description: Your Plugin Description
Version: 1.0
Author: Author Name
Author URI: Author Url
*/

启动插件、停用插件、删除插件

// 将之前主题函数模板functions.php中的自定义代码加在此行下面就可以了,比如在前端加一个提示对话框:
function plugins_tips() {
//    echo '<script>alert("您已成功制作了第一个WordPress插件!");</script>';
    echo '<script>console.log("启用了插件")</script>';

}

add_action( 'wp_footer', 'plugins_tips' );

//定义插件停用时调用的方法
register_deactivation_hook(__FILE__,'myplugin_deactivate');
function myplugin_deactivate(){
    echo '<script>alert("停用了插件")</script>';
}

新增栏目分类广告模块

// 栏目广告
/**
 *    广告模块
 */
// 添加字段
function ems_add_category_field(){

    echo '<div class="form-field">
        <label for="cat-gg">广告</label>
<textarea name="cat-gg" id="cat-gg" rows="5" cols="50" class="large-text" aria-describedby="description-description"></textarea>
</div>';

}
add_action('category_add_form_fields','ems_add_category_field',10,2);

// 编辑字段
function ems_edit_category_field($tag){

    echo '<tr class="form-field '.$tag->term_id.'"><th scope="row"><label for="cat-gg">广告</label></th><td>
<textarea name="cat-gg" id="cat-gg" rows="5" cols="50" class="large-text" aria-describedby="description-description">';
    echo str_replace('\\','',get_option('cat-gg-'.$tag->term_id)).'</textarea></td>
</tr>';

}
add_action('category_edit_form_fields','ems_edit_category_field',10,2);

// 保存数据
function ems_taxonomy_metadate($term_id){
    if(isset($_POST['cat-gg'])){
        //判断权限--可改
        if(!current_user_can('manage_categories')){
            return $term_id;
        }

        $keywords_key = 'cat-gg-'.$term_id; // key 选项名为 cat-g-1 类型
        $keywords_value = $_POST['cat-gg'];	// value

        // 更新选项值
        update_option( $keywords_key, $keywords_value );
    }
}

// 虽然要两个钩子,但是我们可以两个钩子使用同一个函数
add_action('created_category','ems_taxonomy_metadate',10,1);
add_action('edited_category','ems_taxonomy_metadate',10,1);


读取内容

/**
 * 读取方法
 */
function cate_gg(){
    $categories = get_the_category();
    $term_id = $categories[0]->term_id;
    $cat_name = $categories[0]->name;
    $abc = get_option('cat-gg-'.$term_id);

    if(is_category() && $abc) {

        echo str_replace('\\','',$abc);
    }
    if(is_single()){
        echo str_replace('\\','',$abc);
    }
}

 

 

数据表wp_options

主题single.php调用

<?php get_header();?>
<!-- 广告 -->
<?php
cate_gg();
?>
<!-- 广告 -->
<?php get_footer();?>

 

发布时间:2023/03/23

发表评论