Wordpress给每一个分类栏目定制不同的广告位
给分类栏目添加广告位,等同于添加自定义字段。
如果需要依据不同的栏目给广告位添加不同的tag来源,需要在模板页面中获取栏目的分类别名,读取不同的广告。

图1
如图1所示添加新的图片输入框
1. 实现的代码是把下面的代码放在function.php文件中
/**IMAGES ADS**/
global $texonomy_slug_images;
$texonomy_slug_images='category';
add_action($texonomy_slug_images.'_add_form_fields','categoryimages');
function categoryimages($taxonomy){ ?>
<div>
<label for="tag-ad">栏目广告位1</label>
<input type="text" name="tag-ad" id="tag-ad" value="" /><br /><span>请在此输入广告图片链接。</span>
</div>
<?php }
add_action($texonomy_slug_images.'_edit_form_fields','categoryimagesedit');
function categoryimagesedit($taxonomy){ ?>
<tr class="form-field">
<th scope="row" valign="top"><label for="tag-ad">栏目广告位1</label></th>
<td><input type="text" name="tag-ad" id="tag-ad" value="<?php echo esc_url(get_option('_category_images'.$taxonomy->term_id)); ?>" /><br /><span class="description">请在此输入广告图片链接。</span></td>
</tr>
<?php }
add_action('edit_term','categoryimagessave');
add_action('create_term','categoryimagessave');
function categoryimagessave($term_id){
if(isset($_POST['tag-ad'])){
if(isset($_POST['tag-ad']))
update_option('_category_images'.$term_id,$_POST['tag-ad'] );
}
}
2.建立如下模板(category-ad.php)根据分类别名读取自定义字段的内容
<?php
/*
Template Name: Category_adsone
*/
?>
<?php
if(is_category()){
$category_info = get_the_category();
$category_id = $category_info[0]->cat_ID;
$cat_image = get_option('_category_images'.$category_id);
$cat = get_query_var('cat');
$yourcat = get_category($cat);
?>
<a rel="nofollow" href="###?tg=SAT&tag1=FX114@<?php echo $yourcat->slug;?>@R1" target="_blank"> <img name="ads"src="<?php echo $cat_image;?>"/></a>
<?php } ?>
3.在Sidebar.php中调用模板(category.php)即可实现
<?php get_template_part( 'inc/category-ads' ); ?>
4.如果想在单个文章页面调取分类栏目的分类名、分类别名、分类字段,要在single.php文件中添加如下代码:
<?php $cats=get_the_category();
foreach($cats as $cat)
$cat_id=$cat->cat_ID;
//echo $cat_id; 分类id
//echo $cat->slug; 分类别名
$cat_image = get_option('_category_images'.$cat_id);
$cat_imagetwo = get_option('_category_ad'.$cat_id); ?>
<a class="ad-a2" rel="nofollow" href="###?tg=SAT&tag1=FX114@<?php echo $cat->slug;?>@R2" target="_blank"> <img src="<?php echo $cat_imagetwo;?>"/></a>
5.如果想添加多个字段只用复制写入function中的代码,并另定义字段名名称$texonomy_slug_images,黄色部分的代码另起名字即可。
Wordpress给每一个分类栏目定制不同的广告位的更多相关文章
- wordpress通过$wpdb获取一个分类下所有的文章
在wordpress程序根目录下新建一个php文件,粘贴下面的代码 如下面的代码注释,修改$CID这个分类id,就可以获取这个分类下的文章了.这个查询需要联合三个表wp_posts.wp_term_r ...
- iOS 开源一个高度可定制支持各种动画效果,支持单击双击,小红点,支持自定义不规则按钮的tabbar
TYTabbarAnimationDemo 业务需求导致需要做一个tabbar,里面的按钮点击带有动画效果,tabbar中间的按钮凸出,凸出部分可以点击,支持badge 小红点等,为此封装了一个高度可 ...
- 一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
为了尊重作者,先放上链接:https://github.com/qstumn/BadgeView BadgeView 一个可以自由定制外观.支持拖拽消除的MaterialDesign风格Android ...
- wordpress显示多个分类的文章
显示多个分类下的文章可以这样提取: <?php query_posts(array('posts_per_page'=>10,'orderby'=>'rand','category_ ...
- wordpress 页面显示指定分类文章
首页显示指定分类备份主题文件夹中的 index.php 文件,修改index.php找到如下一行代码:<?php if (have_posts()) : ?>在上面这行代码的前面加上:&l ...
- wordpress文章显示同一分类下的上一篇下一篇
我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...
- wordpress学习四: 一个简单的自定义主题
在学习三里分析了自带的一个例子,本节我们就自己仿照他做个简单的吧,重点是调用wordpress封装好的函数和类,css和html可以稍好在调整. 将wp带的例子复制一份处理,重新名个名字. 清空ind ...
- WordPress基础:常用分类列表wp_list_categories
函数:wp_list_categories($args) 作用:列出某个分类下的分类项目 用法: <ul> <?php $args= array( 'depth'=>1, 'o ...
- 一个分类,两个问题之ArrayList
前段时间,在做一个商品的分类,分类有3级,类似于以下这种形式的: ---食物 ---蔬菜 ---白菜 ---材料 ---鸡肉 ....... 而我需要做的是将取得的一个商品的字符串类型的分类ID集,然 ...
- 拿wordpress站的一个小技巧
记得09年时wp爆过一个重置管理口令的漏洞, 现在用法差不多, 也是我刚刚发现, 网上也没找到有讲述关于这个的. 前提:是在有注入点(注入点的话可以通过寻找插件漏洞获得.), 密码解不开, 无法out ...
随机推荐
- Scala 特质(Trait)
1 package chapter06 2 3 object Test13_Trait { 4 def main(args: Array[String]): Unit = { 5 val studen ...
- 成长计划校园极客秀|基于OpenHarmony的智能阳台
前言 本文由OpenAtom OpenHarmony(以下简称"OpenHarmony")开源开发者成长计划活动的参与者李建涛提供,详细阐述了由搭载OpenHarmony系统的拓维 ...
- Java基础知识:面试官必问的问题
数据类型 基本类型 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 boolean/~ boolean 只有两个值:true.fal ...
- SQL LIKE 运算符:用法、示例和通配符解释
SQL中的LIKE运算符用于在WHERE子句中搜索列中的指定模式.通常与LIKE运算符一起使用的有两个通配符: 百分号 % 代表零个.一个或多个字符. 下划线 _ 代表一个单个字符. 以下是LIKE运 ...
- Python操作临时文件---tempfile
# 使用标准库中 tempfile 下的 TemporaryFile,NamedTemporaryFile # TemporaryFile(mode='w+b', bufsize=1, suffix= ...
- Centos8安装docker-ce
一.安装步骤 1.安装yum-utils yum install -y yum-utils 2.配置阿里源 yum-config-manager --add-repo http://mirrors.a ...
- Centos 6.4 配置网页服务器
Centos 6.4 配置网页服务器 (2013-08-08 22:59:09) 转载▼ 分类:linux系统 今天值班,在单位找一台电脑安装了Centos 6.4操作系统. 一.安装软件 yum ...
- 抓包整理————wireshark 抓包[二]
前言 简单整理一些wireshark抓包. 正文 打开wireshark 的capture的option 选项: 然后可以看到可以捕获的选项: 可以看到这里有我的以太网和虚拟机网卡流量. 这个就是将l ...
- redis 简单整理——redis 的集合基本结构和命令[五]
前言 简单介绍一下集合的基本结构和命令. 正文 集合(set)类型也是用来保存多个的字符串元素,但和列表类型不一 样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过 索引下标获取元素. ...
- eclipse 卡顿的优化办法
1. 关闭校验 2. 关闭插件自动升级 3.关闭界面设置的一些选项