Wordpress给每一个分类栏目定制不同的广告位

Posted 筱风能动浪,岸树不遮山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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如何自定义分类栏目的title

wordpress 当前栏目名,当前栏目的分类名

wordpress不同页面显示不同的侧边栏,怎么设置

wordpress怎么添加留言板

新手运营如何做广告位投放

Wordpress基础:文章和页面的区别