虽然目前WordPress区块编辑器,可以在正文中添加任意区块,包括区块小工具,但想在所有文章中添加一个固定的内容,每次还是需要手动添加区块,文本分享一段代码,可实现在WordPress文章中添加一个固定的,与正常侧边栏一样的小工具,方便使用。
效果演示
将下面代码添加到当前主题函数模板functions.php中:
展开收缩
// 添加小工具 if ( function_exists('register_sidebar') ) { register_sidebar(array( 'name' => '正文小工具', 'id' => 'inline-content', 'description' => '用于在正文中添加小工具', 'before_widget' => '<aside id="%1$s" class="widget inline-content %2$s">', 'after_widget' => '<div class="clear"></div></aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', )); } // 添加到正文第二个段落下面,修改数字2可调整位置 add_filter( 'the_content', 'insert_content_filter' ); function insert_content_filter( $content ) { ob_start(); $sidebar = dynamic_sidebar('inline-content'); $new_content = ob_get_clean(); if ( is_single() && ! is_admin() ) { return insert_content( $new_content, 2, $content ); } return $content; } // 添加到正文段落中 function insert_content( $new_content, $paragraph_id, $content ) { $closing_p = '</p>'; $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $new_content; } } return implode( '', $paragraphs ); }
之后进入小工具设置页面会发现新增“正文小工具”,与正常侧边栏操作一样添加小工具。
最后可以针对自己的主题适当给这个小工具添加样式:
.inline-content { border: 1px solid #666; }
默认是添加到正文第二个段落下面,可以根据情况调整小工具插入位置,修改数字2,代码有注释。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
湖北省武汉市 1F
这个需求很特殊啊,如果文章内部引用小工具,它的CSS样式有点不合适了
江苏省盐城市 2F
毕竟文章最后加小工具,不是更好?
江苏省盐城市 3F
你这个文章段落中代码,能改为文章内容最后段落放小工具吗