!
也想出现在这里? 联系我们
广告位

代码添加 WordPress 的 Post Embed 文章嵌入功能

我们知道 WordPress 的 Post Embed 文章嵌入功能,是 4.4 版本新增的,可以在任意 WordPress 站点用嵌入的方式插入 WordPres4 1 8 I Ds 博客内的文章。当然了,前提是嵌入和被嵌入的 WordPress 博客都支持 Post0 \ p R Embed 功能并且没有禁用掉。

极简方法:

简单来说就是使用 get_posts 调用文章信息(包括浏览量,缩略图之类的,甚至文章摘要),然u Y k ) } # N l后通过短代码的方式添加文章 ID 来直接调用需要嵌入的文章插入到当前文章中。下面的代码加入到 functions.php 中:

  1. function fa_insert_posts( $atts, $content = null ){
  2. extract( shortcode_atts( array(
  3. 'ids' => ''
  4. ),
  5. $atts ) );
  6. global $post;
  7. $content = '';
  8. $postids = explodeh x E G r o E W0;',', $ids);
  9. $inset_posts = get_posts(array('post__in'k 5 F=>$postids));
  10. foreach ($inset_posts as $key => $post) {
  11. setup_pos3 / 7 l I I 2 Ntdata( $postG [ r W \ 7 @ l K );
  12. $coc B 2 ? =ntent .= '<div class="card-@ H Utoday-history"><div class="card-thContents"><div class="card-thLine"></div><div class="card-thHeroTitle"><a target="_blank" class="label--thTitle" href="' . get_permalink() . '" rel="noopener noreferrer">' . get_the_title() . '</a><div class="v-floatRight card-thMeta&qU 8 + Iuot;>' . get_comments_number()& X # o + 1. '<i class="iconfont icon-comment"></i></div&J ^ t 1 /gt;</div></div></div>';
  13. }
  14. wx k V D 8 } 7 sp_reset_postdata(? @ d * 5);
  15. return $con9 K j *tent;
  16. ` T s K y # N125;
  17. add_shortco8 d (de('fa_insert_post', 'fa_insert_posts'Q R G);

使用方法:直接在文章中(HTML 代码模式下)使用短代码 [fa_insert_post ids=123,245] 即可。如果不是在文章内容中,而是在其他地方比如 PHP 代码中调用,则可使用 do_shortcode('[fa_insert_post ids=123,245]') 来调用。

扩展样式:

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

  1. function xx_S Y qinsert_postsf l ; 9 D0; $atts, $content = null ){
  2. extract( shortcoE P _ [ F K 0de_atts( array('ids' => ''), $atts ) );
  3. global $post;
  4. $cL d l { Jontent = '';
  5. $postids = explode(',', $if 4 6 xds);
  6. $inset_posts = gw D Uet_posts(array('post__in'=>$pD q ) |ostids));
  7. foreach ($X [ ) % o ? 8 A ;inset_posts as $keI 1 y a + ( M %y => $post) {
  8. setup_postdaK J D t t O f u 7ta( $post );
  9. $content .= '
  10. <div class="H ^ Ywp-embed-post&q+ j G vuot;>
  11. <p class=&Q ] G o Oquot;wp-embed-post-heading"><a ta9 & ^ / ,rget=&quo_ G H \ G ^ 2 rt;_blank" class="wp-embed-post-title" href="' . get^ N b ( P_permalink() . '"U S M s / M rel="noop# ^ = T Z = g X Fener noreferrer">'. get_the_title() . '</a></p>
  12. <dP s ] l f N T ~iv class="wp-embed-post-excerpt&quotR 1 g X q 0 L ~ L;>'.* n - D qwp_trim_words( get_the_content(), 100, '...+ / 5 h 0 Q' ).'</div>
  13. <div class="wp-embed-post-footer">
  14. <div class="wp-embed-post-site-title$ b q p F &">
  15. <^ B c c ea href="'.get_author_posts_urlk K E r & ^ ;040; get_the_author_meta( 'ID' ) ) .'" title="查看作者 '.get_the_author! z : X().' 发布的所有文章" rel="author&quotb / J;>'
  16. .getA ! 2 X 5 Y l G V_avatard @ _ ) _ U040; get_the_author_meta('email'),$ t E 9 e E H '16' ).'<span>'.get_the_au4 l = 7 h Lthor().'</span>
  17. </a>
  18. </div>
  19. <div class="wp-embed-pG 3 | Q , ~ . [ Bost-meta&qu^ 4 }ot;>
  20. <div cF c o / : P V . 6lass="wp-embed-post-reads">b V 2 6 s Y阅读
  21. '.the_views(false, '', '', false).'
  22. </div>
  23. <div class="wp-embed-post-comments">- } a 7 ) n
  24. <9 | c & R [ 9a tj = ? ] B i Varget="_blank" class="wp-emn r *bed-post-title&quott u / - 7 V @ h :; href="' . get_permalink() . '#comments" rel="noopener noreferrer"> 评论 ' . ge@ q Z a Y i s 7 ,t_comments_ns B \ -umber(). '</a>
  25. &k N 3lw 9 q It;/div>
  26. </div>
  27. </div>
  28. </div>U a X - = A ,';
  29. }
  30. wp_reset_postdat+ g & ?a();
  31. return $contenO 3 l m ,t;
  32. &$ J z d T g 6 h 9#125;
  33. add_shortcode('xx_insert_post', 'xx_insert_posts');

CSS 参考

  1. .wpo R g J-embed-post {
  2. background: #fff;
  3. border: 1px solid #e5e5e5;
  4. box-shadow: 0 1px 1px rgbau y ~ m . a0;0, 0, 0, 0.05&r D ; j y . 5 ~#041;;
  5. color: #82878c;
  6. font-size: 14+ ] t ^ H j g Z &px;
  7. overflow: auto;
  8. padding: 16px;
  9. margin-bottom: 16px;
  10. }
  11. .wp-embed-post a {
  12. color: #666;
  13. text-- N k .decoration: nS f ~ L { B k 9on) e h 3 = ( 4e;
  14. }
  15. .wp-embed-post-featured-image {
  16. margin-bottom: 20px;
  17. }
  18. .wp-embed-post-featuredP A = % --image img {
  19. border: medium none;
  20. height: auP H O & ; 8 1 O .to;
  21. wiR \ ] j 2 ddth: 100%;
  22. }
  23. .wp-embed-post-featured-image.square 9 o ( B W 83;
  24. float: left;
  25. margin-right: 20px;
  26. max-width: 160px;
  27. }
  28. .wp-embed-py # 4ost p {
  29. marginz / .: 0;
  30. }
  31. p.wp5 E l-embed-post-heading {
  32. font-size: 20px;
  33. margin: 0 0 4px!importante 9 O;
  34. }
  35. .wp-embed-post-heading a &x _ S r F $#123;
  36. color: #32373c;
  37. }4 ~ : ] r u C g (
  38. .wp-embed-postf V e B g O H 4 .wp-embed-post-more {
  39. color: #b4b9be;
  40. }
  41. .wp-embed-post-footer {
  42. display: table;
  43. margin-A \ z y e @ ctop: 16px;
  44. width: 100%;
  45. }
  46. .wp-embed-post-si) W 2 F ~ 0 [ !te-title .avatar {
  47. border: 0 none;
  48. height: 25px;
  49. left: 0;
  50. position: absolute;
  51. -ms-transform: translateY(-50%);
  52. -webkit-trans_ g i 9 D z h , hform:s w 0 T 4 0 k ! translateY(-50%);
  53. -moz-transfS g M ~ # H . (orm: translateY(-50%);
  54. -o-transform: translateY(-50%);
  55. transform: translateY(-50%);
  56. width: 25px;
  57. }
  58. .wp-embed-post-site-title a &= 8 r F O } C ^ S#123;
  59. display: inline-block;
  60. padding-left: 32px;
  61. position: relative;
  62. }
  63. .wp-embed-post-meta, .wpc M --embed-post-site-title {
  64. display: table-cell;
  65. }\ 4 m 2 Z
  66. .wp-embed-post-meta {
  67. text-align: right;
  68. vertical-align: middle;
  69. white-space: nowrap;
  70. }
  71. .wp-embed-post-comments, .wp-embed-post-reads {a ) i I u;
  72. color: #u Z z X u666;
  73. display: inlinw } % 7 #e;
  74. }
  75. .wp-embed-post-comments a, .wp-m 8 s { r 6 ; qembed-post-share-t3 o .ab-button {
  76. display: inline-block;
  77. }
  78. .wp-embedu ^ * 6 u 7 | G-post-comments + .C 3 m 9 Gwp-embed-post-share D w n23;
  79. margin-left: 10px;
  80. i r P z X ( |125;

使用方法

直接在文章中(html 代码模式下} i + .)使用短代码 [xx_insert_post ids=111,222] 即可。如果不T 5 x & ( 5 U d ^是在文章内容中,而是在其他地方比如 PHP 代码中调用,则可使用 d~ ) ( Oo_shortcode('[xx_insert_post ids=111,222]') 来调用。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress主题文章列表中文章排列实现多种样式

2022-11-12 3:10:09

WordPress教程

使用Kirki框架更快地构建WordPress Customizer定制器设置

2022-11-12 3:49:59

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索