🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# WordPress(WP) 集成 码迷图床 步骤 ## **集成特色** * 只修改一个模板文件啊,奥利给! * 支持首段配图、内容内多个自动配图 * 智能配图,不影响不覆盖已经手动配图的内容 * 集成超级简单,小白也可上手 用户在集成之前,一定要先去了解WordPress的模板语法、后台使用以及html、php语法,不要一有问题就提问。 遇到问题报错,先反思一下自己的技能基础,在看看自己有没有代码错误,**学会用搜索引擎找到对应的解决之道**。 **大家都不是五岁小孩了,而且这个集成非常简单,不提供免费的技术支持以及咨询服务。** ## **预备知识** 1. 熟悉简单的html css 语法 2. 基本不需了解WordPress的模板语法 3. 熟悉简单的php语法 4. 不同的模板代码不一样,所以修改的位置也不一样 5. 示例中的图片URL路径要换成自己的图床URL路径 ## **先看结果** 1、列表页 ![](https://img.kancloud.cn/17/a2/17a2a3729eb3a54e8692522f848a0d59_1173x895.png) 2、内容页 ![](https://img.kancloud.cn/65/c1/65c1ac767f9f3de247b5b35cbe7b6c86_1251x932.png) ## **开始集成** :-: ![](https://img.kancloud.cn/f3/70/f3702e45c9359db232eef68d193a87e5_578x318.png) ## 步骤1 确定模板目录 首先,你要根据自己使用的WP模板,确定模板对应的文件位置。 ![](https://img.kancloud.cn/df/d4/dfd41e079c3189cbe4dfff8eac9813c2_1099x849.png) 这里以[wpbstarter主题]为例子,模板目录位于wp-content/themes/wpbstarter文件夹下面。 ![](https://img.kancloud.cn/65/ad/65ad9127a2f50deca070f4b92e258458_1080x640.png) ## 步骤2 在 wp-content/themes/你的模板目录/functions.php 末尾添加如下代码 注意把图床地址修改为自己的图床地址。 不同模板的取图逻辑略有不同,请自行稍加修改。 ``` /** * 强制返回有略缩图 * @param $has_thumbnail * @param null $post * @param int $thumbnail_id * @return bool */ function mami_has_post_thumbnail($has_thumbnail, $post = NULL, $thumbnail_id = 0) { return TRUE; } /*** * 自动配图 * @param $html 文章内容 * @param $title 文章标题 * @param $tuchuang_url 图床路径 * @param $num 图片数量 * @return string|string[] */ function mami_insert_imgs($html) { #配图数量 $num = 3; #修改为你自己的图床目录 $tuchuang_url = "http://gen.mamioo.com/test/600/"; $title = get_the_title(); $split_tag = "</p>"; $html = str_replace("<br />", "<br>", $html); $html = str_replace("<br/>", "<br>", $html); $htmlarr = preg_split("%$split_tag%ui", $html); $p_num = count($htmlarr); if ($p_num < $num * 3) { $split_tag = "<br>"; $htmlarr = preg_split("%$split_tag%ui", $html); } $p_num = count($htmlarr); $p_inter = floor($p_num / $num); $imgarr = preg_split("%<img%ui", $html); $img_num = count($imgarr); $html_out = [ '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__.jpg"/></p>', ]; if ($p_inter > 1 && $num > 1) { foreach ($htmlarr as $i => $item) { if (($i + 1) % $p_inter == 0 && $img_num < $num) { $img_num++; $html_out[] = '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__' . $i . '.jpg"/></p>'; } else { $html_out[] = $item; } } } else { $split_tag = ""; $html_out[] = $html; } $html = str_replace("</p></p>", "</p>", implode($split_tag, $html_out)); return $html; } /*** * 列表页配图设置 * @param $html * @param int $post_ID * @param int $post_thumbnail_id * @param null $size * @param null $attr * @return string */ function mami_post_thumbnail_html($html, $post_ID = 0, $post_thumbnail_id = 0, $size = NULL, $attr = NULL) { #修改为你自己的图床目录 $tuchuang_url = "http://gen.mamioo.com/test/600/"; if (!$html) { $title = get_the_title(); #图片html代码 $html = '<img src="' . $tuchuang_url . $title . '__' . '.jpg"/>'; } return $html; } add_filter('the_content', 'mami_insert_imgs'); add_filter('has_post_thumbnail', 'mami_has_post_thumbnail'); add_filter('post_thumbnail_html', 'mami_post_thumbnail_html'); ``` **效果如下:** 列表页: ![](https://img.kancloud.cn/95/7e/957ebe4eb1cdce89103c81486d472b32_1437x859.png) 内容页: ![](https://img.kancloud.cn/2f/16/2f16c410c1ccc43e23e6d3db061293bc_1520x858.png) :-: ![](https://img.kancloud.cn/3c/10/3c10e883a113dcad277155bcbfeab963_296x292.png)