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
发表评论