WordPress通过短代码显示指定文章内容

投稿   龙笑天下  2017-02-13 07:24:03  413 人阅读  28 条评论

投放广告联系   诚邀合作伙伴   赞助我们   本站公告   轻松一刻

如果你认真写博客的话肯定会有在文章内引用你站内其他文章的时候,这个时候我们一般都是直接用一个a标签来搞定。在 WordPress 4.4 版本新增 Post Embed 功能,可以比较具体的展示链接的信息,可以在任意 WordPress 站点用嵌入的方式插入 WordPress 博客内的文章然后自动的转换成相应的内链块。当然了,前提是嵌入博客主题都支持 Post Embed 功能并且没有禁用掉。虽然这样已经解决了问题,但是我们可以有更好的方案~

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

WordPress通过短代码显示指定文章内容

我们可以用短代码的方式添加文章 ID 来直接调用文章,非常方便,下面给出实现方法。

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

  1. /**
  2. * WordPress通过短代码显示指定文章内容
  3. * http://www.ilxtx.com/insert-post-through-post-id.html
  4. */
  5. function lxtx_fa_insert_posts( $atts$content = null ){
  6.     extract( shortcode_atts( array(
  7.         'ids' => ''
  8.     ),
  9.         $atts ) );
  10.     global $post;
  11.     $content = '';
  12.     $postids =  explode(',', $ids);
  13.     $inset_posts = get_posts(array('post__in'=>$postids));
  14.     foreach ($inset_posts as $key => $post) {
  15.         setup_postdata( $post );
  16.         $content .=  '<div class="card-today-history"><div class="card-thContents"><div class="card-thLine"></div><div class="card-thHeroTitle"><a target="_blank" class="label--thTitle" href="' . get_permalink() . '">' . get_the_title() . '</a><div class="v-floatRight card-thMeta">' . get_comments_number(). '<i class="iconfont icon-comment"></i></div></div></div></div>';
  17.     }
  18.     wp_reset_postdata();
  19.     return $content;
  20. }
  21. add_shortcode('lxtx_fa_insert_post', 'lxtx_fa_insert_posts');

取自《WordPress 文章内链短代码 – Fatesinger

你可以根据你自己的需要来调整代码,也可以自己自定义 CSS 样式,这里就不给出 CSS 代码了。当然也可以参考本站的结构和 css~

至于调用就非常简单了,直接使用短代码 [lxtx_fa_insert_post ids=123,245] 即可;当然,如果你不是在文章内容中,而是在其他地方想调用,则可使用 do_shortcode('[lxtx_fa_insert_post ids=123,245]') 来调用。

参考文章

如果文章对你有帮助,请赞赏支持作者继续创作!

历史上的今天:

文章标签: ,   ,  
原文地址:http://www.ilxtx.com/insert-post-through-post-id.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 龙笑天下 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress虚拟主机和VPS服务器推荐

 发表评论


  1. 叶少侠
    叶少侠 【小白】 @回复

    先尝试一下!!

  2. 靠谱学生兼职网
    靠谱学生兼职网 【尚书】 @回复

    哦,可以试试。

  3. 杭州SEO优化
    杭州SEO优化 【举人】 @回复

    真的很实用

  4. 都市田园博客
    都市田园博客 【书童】 @回复

    这个还是比较实用的。

  5. SUSEVEN
    SUSEVEN 【小白】 @回复

    我只是来打酱油的 [挖鼻屎] [挖鼻屎]

  6. 闲鱼
    闲鱼 【状元】 @回复

    这个之前看到大发折腾了,也就给自己的博客搞上了,蛮不错的

    • boke112导航
      boke112导航【村长】2017-02-13 22:05  回复

      @闲鱼[威武] 你们都很神速,我的还没有搞上呢,落后了

  7. 西狂
    西狂 【进士】 @回复

    学习来了 [嘘]

  8. 明月登楼的博客
    明月登楼的博客 【王爷】 @回复

    过来再看看!

  9. 夏日草博客
    夏日草博客 【进士】 @回复

    这方法很方便。

  10. 码农BTS
    码农BTS 【状元】 @回复

    哈哈,这个函数还是挺强大的嘛

  11. 杭州SEO优化
    杭州SEO优化 【举人】 @回复

    感谢分享

  12. 免费vip电影
    免费vip电影 【进士】 @回复

    进来看一下,虽然看不懂!

  13. 靠谱学生兼职网
    靠谱学生兼职网 【尚书】 @回复

    哦,好方法。确实可行。

  14. 爱时尚
    爱时尚 【尚书】 @回复

    默默来打酱油了

  15. 明月登楼的博客
    明月登楼的博客 【王爷】 @回复

    好像很多人都建议关闭Post Embed 功能的!为啥呀?安全因素嘛!感觉这个功能配合漂亮的CSS的话会给文章增色不少的!

    • boke112导航
      boke112导航【村长】2017-02-13 15:25  回复

      @明月登楼的博客[威武] 我发现你们都用上这个功能了,看起来确实很漂亮,我以后再折腾

  16. 橘子书
    橘子书 【丞相】 @回复

    这个调用蛮不错的,老早就使用上了。
    不过,龙笑天,你的简码都搞那么长,强迫症表示看得晃 [阴险] 哈哈

    • 龙笑天
      龙笑天 作者回复2017-02-13 16:37  回复

      @橘子书看一下你楼上雅熙说的哦,整合到编辑器~ [偷笑]

      • 橘子书
        橘子书 【丞相】2017-02-13 17:06  回复

        @龙笑天我自己的早就整合到编辑器了,而且简码就六个字母,非常简短。
        只是今天看到你的调用简码,老觉得它那么长,你不觉的绕吗。哈哈。

        • 龙笑天
          龙笑天 作者回复2017-02-14 14:10  回复

          @橘子书确实有点长,可以随意改的嘛~

  17. Mr.Li
    Mr.Li 【举人】 @回复

    我一摊手,表示,没学过的看不懂啊,哈哈

  18. 麦林风博客
    麦林风博客 【秀才】 @回复

    看了2遍,终于看懂了。

  19. 雅兮网
    雅兮网 【尚书】 @回复

    这个不错,把此短代码按钮整合到编辑器,可以很快的插入文章了,就是获取ID 还有一丢丢的麻烦

    • boke112导航
      boke112导航【村长】2017-02-13 15:27  回复

      @雅兮网整合到编辑器,添加时直接输入ID。查看ID确实是一个问题

    • 何先生
      何先生 【小白】2017-02-13 17:19  回复

      @雅兮网干嘛不用wordpress自带的?直接在可视化页面粘贴需要引用的文章完整url就行了,,还写那么多代码进去

      • boke112导航
        boke112导航【村长】2017-02-13 22:11  回复

        @何先生[疑问] 我试了一下,直接粘贴站内文章连接地址,链接地址和文章名称是对的,但是下方显示404,不知道是不是主题问题

  20. Koolight
    Koolight 【尚书】 @回复

    好深奥,不太懂。