# 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)