WordPress 添加短代码在文章内调用站内指定文章内容!

WordPress 添加短代码在文章内调用站内指定文章内容!

2017年5月30日 12:37 技术控
0 3
申请社区大学Weatherford College EDU邮箱
利用edu邮箱免费撸微软OneDrive网盘5t空间!

WordPress 添加短代码在文章内调用站内指定文章内容!

今天要分享的这个功能其实很久就有在主题大神的博客中看到了,一直都以为是WP更新的出的新功能,只是小编没有研究到而已,今天无意中发现是通过短 代码实现的,所以小编必然也是要做吃鸡的人,果断出事了一把!

正常来说大家在编辑文章的时候,在提到之前以往的文章时,都会直接的把之前文章的超链接贴到新的文章内。在WordPress 4.4 版本新增 Post Embed 功能,可以比较具体的展示链接的信息,可以在任意 WordPress 站点用嵌入的方式插入 WordPress 博客内的文章然后自动的转换成相应的内链块。

因为要调用的是站内文章,如果我们使用get_posts的话可以很好的调用文章的元信息,包括浏览量,缩略图之类的,甚至文章摘要(如果你有的话)。再加上可以自定义样式,这个内链看上去可要比普通的A标签高大上多了。比如下面的:

WordPress 添加短代码在文章内调用站内指定文章内容!

给WordPress分类页面添加浏览统计数功能!

文章浏览数统计很多博客都有加上了,但是一般分类和标签归档页面一般没有人统计,标签页面还好,毕竟大多数人的标签管理...

我们可以用短 代码的方式添加文章ID来直接调用文章,非常方便,下面给出实现方法,相比其他站分享的代码,小编已经整合缩略图了。

下面的代码加入到functions.php中:


/**
* WordPress 添加短代码在文章内调用站内指定文章内容!
*/
function dsqnw_fa_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="post-arts"> 
  <div class="post-arts-thumbnail"> 
    <a href="' . get_permalink() . '" title="' . get_the_title() . '" isconvert="1"> 
      <img src="' .get_mypost_thumbnail($post_id). '" alt="' . get_the_title() . '" width="160" height="160"> 
    </a> 
  </div>
  <div class="post-arts-info"> 
    <h2 class="post-arts-title"> <a href="' . get_permalink() . '" rel="bookmark" title="' . get_the_title() . '" isconvert="1">' . get_the_title() . '</a> 
    </h2>
  
     <div class="post-arts-excerpt"> ' . mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 120,"...") . '</div>
    <div class="post-arts-comments">' .get_comments_number(). '</div>
    </div> 

 </div>
</div>
';
    }
    wp_reset_postdata();
    return $content;
}
add_shortcode('dsqnw_fa_insert_post', 'dsqnw_fa_insert_posts');

你可以根据你自己的需要来调整代码,也可以自己自定义CSS样式,这里就不给出CSS代码了。喜欢我这的CSS那就直接拔!

调用方式


/* 文章内调用
/* -------------------------------- */

[dsqnw_fa_insert_post ids=123,245]

/* 其他页面调用
/* -------------------------------- */

do_shortcode('[dsqnw_fa_insert_post ids=123,245]')

文章总数
2267+
标签总数
2003+
评论总数
11768+
运营天数
1255+