文章内链过去我们都是比较传统的给文字加上链接就可以实现了,在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自带的是只用复制粘贴文章链接就可以轻松实现的,