北极寒流 » 网络资源 » wordpress直接跳转到外部链接代码 - 2016.12.10

wordpress直接跳转到外部链接代码

作用:点击文章标题直接跳转到外部网址链接。实现过程非常简单,利用了 wordpress 强大的自定义字段~

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

function lxtx_post_link() {

global $post;

$thePostID = $post->ID;

$post_id = get_post($thePostID);

$title = $post_id->post_title;

$perm = get_permalink($post_id);

$post_keys = array(); $post_val = array();

$post_keys = get_post_custom_keys($thePostID);

if (!empty($post_keys)) {

foreach ($post_keys as $pkey) {

if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {

$post_val = get_post_custom_values($pkey);

}

}

if (empty($post_val)) {

$link = $perm;

} else {

$link = $post_val[0];

}

} else {

$link = $perm;

}

echo $link;

}

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

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

额外补充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个,就在列表的最后位置出现广告代码。

发表评论 【登录·注册】

所有留言都会被审核,请勿发布垃圾评论!

(必填)*