利用短代码给WordPress文章内创建图文内链

作者 : 去看你博客 本文共3091个字,预计阅读时间需要8分钟 发布时间: 2019-06-16 共1.01K人阅读

文章的内部链在搜索引擎优化链接建设中一直非常重要,良好的内部链结构对搜索引擎优化非常有利。当您在当前文章页面的站点中调用其他文章或页面时,主动向页面添加内部链可以大大提高抓取蜘蛛的数量和深度,并增加收录的数量。

内部链接的常见形式是带有结构的文本链接。然而,为了增强用户体验,我们可以丰富内部链接页面或文章。经常在网上阅读文章时,你可能经常会发现文章中插入了缩略图和内容的摘要,如:

一、PHP 代码部分

在 wordpress主题的 functions.php 中加上以下代码:

// 内链图片src
 function liao_the_thumbnail_src() {
 global $post;
 if ( get_post_meta($post->ID, 'thumbnail', true) ) { //如果有缩略图,则显示缩略图
 $image = get_post_meta($post->ID, 'thumbnail', true);
 return $image;
 } else {
 if ( has_post_thumbnail() ) { //如果有缩略图,则显示缩略图
 $img_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "Full");
 return $img_src[0];
 } else {
 $content = $post->post_content;
 preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
 $n = count($strResult[1]);
 if($n > 0){
 return $strResult[1][0]; //没有缩略图就取文章中第一张图片作为缩略图
 }else {
 $random = mt_rand(1, 76);
 return get_template_directory_uri().'/img/random/'. $random .'.jpg'; //文章中没有图片就在 random 文件夹下随机读取图片作为缩略图
 }
 }
 }
 }


//给文章加内链
 function liao_insert_posts( $atts, $content = null ){
 extract( shortcode_atts( array(
 'ids' => ''
 ),
 $atts ) );
 global $post;
 $content = '';
 $postids = explode(',', $ids);
 $inset_posts = get_posts(array('post__in'=>$postids));
 foreach ($inset_posts as $key => $post) {
 setup_postdata( $post );
 $content .= '<div class="neilian"><div class="fl"><a target="_blank" href="' . get_permalink() . '" class="fl"><i class="fa fa-link fa-fw"></i>';
 $content .= get_the_title();
 $content .= '</a><p class="note">';
 $content .= get_the_excerpt();
 $content .= '</p></div><div class="fr"><a target="_blank" href="' . get_permalink() . '"><img src=';
 $content .= liao_the_thumbnail_src();
 $content .= ' class="neilian-thumb"></a></div></div>';
 }
 wp_reset_postdata();
 return $content;
 }
 add_shortcode('neilian', 'liao_insert_posts');

二、CSS样式

.fl{float:left}
.fr{float:right}
.neilian{margin-bottom:25px;padding:10px;width:100%;height:170px;border:1px solid #e8e8e8;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.1);cursor:pointer;-webkit-transition:box-shadow 218ms;-moz-transition:box-shadow 218ms;-o-transition:box-shadow 218ms;transition:box-shadow 218ms}
.neilian:hover{box-shadow:0 1px 8px 1px rgba(0,0,0,.1)}
.neilian .fl{width:72%}
.neilian .fr{padding:10px 5px;width:24%}
.neilian .fl a{display:block;margin-right:15px;padding:8px 5px;width:100%;color:#35a56b!important;text-decoration:none;font-size:16px;border:none}
.neilian .fl .note{margin:0 0 5px;padding-left:10px;color:#888;font-size:14px}
.neilian .neilian-thumb{width:170px;height:120px}

三、短代码调用方法

在 文章(post) 内容编辑器 可视化(Visual) 或 文本(text) 状态下,直接使用[code][/code]的格式即可调用。

比如,我要显示3个内链文章,就直接写短代码:[code]

[/code]

效果如下:

如果你不是在文章内容中,而是在其他地方调用,则可使用do_shortcode(‘‘)来调用。

四、后台文本状态下添加快捷按钮

WordPress 默认内置的是 TinyMCE 编辑器。如果是在文本状态下增加按钮是很简单的,直接在 functions.php 文件里添加代码:

add_action('after_wp_tiny_mce', 'add_button_mce');
function add_button_mce($mce_settings) {
?>
<script type="text/javascript">
 QTags.addButton( 'nl', '文章内链', '', '');
 </script>
<?php
}

效果如图:

利用段代码给WordPress文章内创建图文内链

1. 本站付费资源来源于网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
去看你博客 » 利用短代码给WordPress文章内创建图文内链

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
评论后隐藏内容依旧不可见怎么办?
首次在本站评论需要经过审核通过后才可显示,为了您的评论能尽快通过审核请勿恶意评论,评论通过后会在第一时间通过邮件的方式发送到您在本站的注册邮箱内!
下载后无法正常运行如何提供售后支持?
每一个程序都经过严格的测试后发布上线,99%的问题都是安装方法错误或环境缺少扩展导致。普通用户不提供技术售后(可进行留言,我们收到之后尽可能去解答,但不保证马上解决),会员用户可随时随地享受优质的售后技术支持与问题解答。更多说明请参考 VIP介绍。

15 评论

  1. 这个功能我以前也折腾过好久,只弄个半成品,哈哈~

    1. 我感觉你那个内链比我这个要好很多啊!还带访问量和浏览量

        1. 不客气的,能帮到你我就开心。

  2. 非常感谢,正需要呢

  3. $content .= get_the_title();
    $content .= ‘‘;
    $content .= get_the_excerpt();
    $content .= ‘

    上述代码中标签移动到 $content .= ‘后面会更好,修正点击文字不会跳转的问题

    1. 你说的是点击文章内容摘要吗?

      1. 对,修改一下a标签结束位置,评论被转译了
        后台你应该可以看见

  4. 实际使用测试中

    1. 哈哈,现在在改样式。

    1. 手机浏览好像会变形,需要自己调整下样式

      1. 我发现“发表评论并刷新,才能查看”功能异常,评论刷新后依然无法看见内容
        我的博客也是这个情况,我不清楚是否为我的电脑问题

        1. 可能是缓存的原因

99八十一进行回复 取消回复