如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章

2016-11-20 06:10 2,613 46 条评论 龙笑天下
Dragon主题购买

如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章

前段时间在知更鸟那看到一个非常有趣的事,他博客首页中文章列表处的第一篇文章居然是个广告,点击以后不是进入他博客的文章页,而是跳到了一个广告页面,欺骗性简直逆天了!随之而来的广告点击量可想而知了~

通常我们想达到这样的效果的话,就需要设置一个额外的广告位(方法见下面的额外补充 1),如果你想放在不同的地方的话(如,首页的不同结构中或侧边栏的不同结构中),则需要将各个广告位的结构调成与它们一样才行....

昨天,在胖子马博客发现了一个非常完美的方法,操作起来远没有上面描述的这样复杂!可以在文章列表中的任意位置插入一篇或多篇广告跳转文章,完美的与主题结构融合,与主题列表的展现形式一模一样,不用去额外的改变任何结构!而且可以一键无痕的将发布的任何文章变成广告跳转文章!

实现过程非常简单,利用了 wordpress 强大的自定义字段~

首先,打开主题文件 functions.php,粘贴下面的代码到里面:

/**
* 如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章
* https://www.ilxtx.com/link-to-some-external-ressource-naturally.html
*/
function lxtx_post_link($post=0) {
    $post = get_post( $post );
    $link = get_permalink($post->ID);

    $ad_link = get_post_meta($post->ID, 'ad_link', true);
    if ( !empty($ad_link) ) {
    	$link = $ad_link;
    }

    echo $link;
}

改自:《How to: Link to some external ressource in post title

再把主题中输出文章固定链接地址的函数:the_permalink() 替换为我们上面自定义的这个函数:lxtx_post_link() 即可!

最后,当你要将文章链接到博客之外的页面时,只要在这篇文章中创建自定义字段ad_link,再输入外部 URL 地址作为值就可以了。完成这个操作后,当你发表一篇文章时,系统会查找字段ad_link的值,如果找到,那么就会直接链接到外部站点而不是本博客文章;如果没有找到自定义字段值,就会简单地显示链接本身。

如下图,图中的这篇“测试文章”的链接就是指向外链的!你看不出来吧~~

如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章 示例

友情提示:
1.可以把多篇文章变为广告跳转文章哦,而且通过调节时间,可以在任意位置显示。 这样访客在浏览你的文章时,肯定想不到这是一个广告!当然这样做肯定不是很合适啦~~
2.上面的代码还可以进一步精简的,我感觉不需要设置这么多的自定义字段~

额外补充 1

WordPress 的分类页、Search 页,Tag 页等输出的文章列表时,如果想在中间位置(比如第 5 个文章后面)出现,可以用下面的代码:

<?php if ($wp_query->current_post == 4) : ?>  
    <div> 广告代码 </div>  
<?php endif;  ?>  
<?php if ($wp_query->found_posts < 5 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?>  
    <div> 广告代码 </div>  
<?php endif; ?>

来自:《WordPress 分类页 在文章列表的任意位置插入广告代码

$current_post 属性,必须用在 Loop 里面,表示当前显示的文章索引值;它是以 0 为起始值,如果想要在第 5 个文章后面,$wp_query->current_post 等于 4 即可。

$found_posts 属性,表示按 $wp_query 匹配的文章总数。

上面的代码只能放在 Loop 里面,比如 <?PHP if (have_posts()) : while (have_posts()) : the_post(); ?> 后面,表示广告代码将在文章列表的第 5 个文章后面出现,如果列表匹配出来的文章总数不到 5 个,就在列表的最后位置出现广告代码。

额外补充 2

陌小雨博客那又发现了另一个方法~ 只需要在发布文章时切换成文本,然后加入如下代码即可:

<script type="text/javascript">document.location = "https://www.ilxtx.com"</script>

注意替换网址为你想跳转的链接。可用于老文章失效,跳转到新文章哦~

额外补充 3:WordPress 在文章内容中间插入广告

下面的代码可以实现在文章的第几段后面插入广告,注意按照下面的注释修改广告代码和段落数,转自WP 大学

/**
 * WordPress 在文章内容中间插入广告
 * https://www.ilxtx.com/link-to-some-external-ressource-naturally.html
 */
//在文章内容的第二段后面插入广告
add_filter( 'the_content', 'lxtx_prefix_insert_post_ads' );
function lxtx_prefix_insert_post_ads( $content ) {
	$ad_code = '<div>添加你的广告代码</div>'; 
	if ( is_single() && ! is_admin() ) {
		// 修改 2 这个段落数
		return lxtx_prefix_insert_after_paragraph( $ad_code, 2, $content );
	}
	return $content;
}
 
// 插入广告所需的功能代码
function lxtx_prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
	$closing_p = '</p>';
	$paragraphs = explode( $closing_p, $content );
	foreach ($paragraphs as $index => $paragraph) {
		if ( trim( $paragraph ) ) {
			$paragraphs[$index] .= $closing_p;
		}
		if ( $paragraph_id == $index + 1 ) {
			$paragraphs[$index] .= $insertion;
		}
	}
	return implode( '', $paragraphs );
}

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2016-11-13

2016-12-04

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
评论
正在努力加载中...
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more
Dragon