WordPress 文章内链功能,插入后可以调用描述

文章内链过去我们都是比较传统的给文字加上链接就可以实现了,在WordPress 4.4 版本新增 Post Embed 功能,可以比较具体的展示链接的信息,可以在任意 WordPress 站点用嵌入的方式插入 WordPress 博客内的文章然后自动的转换成相应的内链块。当然了,前提是嵌入博客主题都支持 Post Embed 功能并且没有禁用掉。熟悉代码的可以F12查看网页源可以知道这个iframe标签框架实现的,并且相对的繁琐,其实我们大可以通过短代码的方法实现这个功能,如下:

在functions.php下放入下面的主要实现代码(css可根下面给出的元素自行调整)

//插入短链接,并且包含有描述之类的
function 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 .=  '
  <span class="embed-card  main-site" style="">
    <span class="embed-card-logo res_smzdm">
      <a target="_blank" class=" res_smzdm" href="' . get_permalink() . '">
        <img alt="'. get_the_title() . '" class="res_smzdm" src="'.mmimg(get_the_ID()).'"></a>
    </span>
    <span class="embed-card-info res_smzdm">
      <a target="_blank" class=" res_smzdm" href="' . get_permalink() . '">
        <span class="card-name res_smzdm">'. get_the_title() . '</span></a>
      <span class="card-abstract res_smzdm">'.wp_trim_words( get_the_content(), 100, '...' ).'</span>
      <span class="card-controls res_smzdm">
        <a target="_blank" class=" res_smzdm" href="'.get_author_posts_url( get_the_author_meta( 'ID' ) ).'">
          <span class="mall-data res_smzdm">'.get_the_author().'</span></a>
        <span class="card-inline-split">|</span>
        
        <span class="group-data res_smzdm">
          <i>评论</i>' . get_comments_number(). '</span>
        <a target="_blank" class=" res_smzdm" href="' . get_permalink() . '">
          <span class="card-btn-light res_smzdm">查看详情</span></a>
      </span>
    </span>
  </span>
  ';
}
wp_reset_postdata();
return $content;
}
add_shortcode('fa_insert_post', 'fa_insert_posts');

remove_filter( 'the_excerpt', 'wpautop' );
使用方法:直接在文章中(html 代码模式下)使用短代码 *fa_insert_post ids=文章的ID*即可。把星号换成[]
如果不是在文章内容中,而是在其他地方想调用,则可使用
do_shortcode('*fa_insert_post ids=XXX,XXX*') 来调用,把星号换成[]。

当然,如果想在上面的基础上添加文章阅读数可以使用WP-PostViews 插件调用相关函数或使用thumbnail函数调用特色图像,同理更多。

关于MMIMG的图片参数,是我在fn.php中加入了其他代码,参考下文!

[fa_insert_post ids=1180]

我们其实可以更有效快捷的使用这个功能。因为以上实现的方法是使用短代码实现的,而Wordpress自带的是只用复制粘贴文章链接就可以轻松实现的,

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址