文章列表中完美的插入一篇或几篇广告跳转文章 —— WordPress教程

爱资源网 WordPress教程2188阅读模式

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

文章列表中完美的插入一篇或几篇广告跳转文章 —— WordPress教程

 

教程一

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

/**
* 如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章
*/
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 ( !emptyempty($ad_link) ) {
        $link = $ad_link;
    }
    echo $link;
}

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

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

 

友情提示:

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; ?>

$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.izywang.com"</script>

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

 

方法补充3

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

/**
 * 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 );
}

 

教程二

相信不少博主遇到过需要把wordpress文章的标题链接到自定义的URL地址的情况,点击文章链接时不是直接访问文章详情页面,而是直接访问分享的链接网页,就像微博一样。要实现这种效果,可以使用插件:Page Links To 或 WP Post Redirect来实现,但是为了这个小功能再装一个插件就有点小题大做了。

 

方法1

其实我们也可以通过给文章添加自定义字段来实现,在主题的 functions.php 添加下面的代码:(文件地址:网站根目录/wp-content/themes/主题名文件夹/functions.php)

/**
 * WordPress 文章标题链接到站外链接
 */
function link_format_url($link, $post) {
     if (has_post_format('link', $post) && get_post_meta($post->ID, 'LinkFormatURL', true)) {
          $link = get_post_meta($post->ID, 'LinkFormatURL', true);
     }
     return $link;
}
add_filter('post_link', 'link_format_url', 10, 2);

 

方法2

依次打开wordpress后台的外观/主题编辑器/模板函数(functions.php),添加上面同样的代码。

使用教程

新建wordpress文章,在文章末尾的自定义字段里面的名称选择:LinkFormatURL ,值:输入你需要文章标题跳转的url地址,正常发布文章即可实现上述功能。

 

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!欢迎打赏!

  • 版权声明 1、本网站名称:爱资源网
    本站永久网址:https://www.izywang.com
    2、如果您喜欢本站,点击这儿 不花一分钱捐赠本站

    这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

    3、本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
    附:二00二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
    4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
    6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

  • 转载请务必保留本文链接:文章列表中完美的插入一篇或几篇广告跳转文章 —— WordPress教程https://www.izywang.com/112.html

评论  2  访客  1  作者  1
    • 江博客
      江博客 0

      先记住这篇文章,改天试试看

    匿名

    发表评论

    匿名网友

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: