首页 > 插件推荐 > 后台定制 > 代码实现wordpress自动设置特色图片
2019
10-17

代码实现wordpress自动设置特色图片

因为自己的wordpress都是图文排版结构,除了标题还需要配置一张特色图片。每次都要手动设置特色图片非常麻烦,一直在思考:为什么不将第一张图片设置特色? 为了解决这个问题,就开始专注解决。

 

代码实现自动设置为特色图片

网上有一种代码方案,修改function.php:自动将上传的第一张图片设置为特色图片(前提这张图片必须在媒体库中,如果文章没有上传到媒体库的图片,可以选择一张默认图片),代码如下:

function wpforce_featured() {

global $post;

$already_has_thumb = has_post_thumbnail($post->ID);

if (!$already_has_thumb) {

$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

if ($attached_image) {

foreach ($attached_image as $attachment_id => $attachment) {

set_post_thumbnail($post->ID, $attachment_id);

}

} else {

set_post_thumbnail($post->ID, '2611');

}

}

} //end function

add_action('the_post', 'wpforce_featured');

add_action('save_post', 'wpforce_featured');

add_action('draft_to_publish', 'wpforce_featured');

add_action('new_to_publish', 'wpforce_featured');

add_action('pending_to_publish', 'wpforce_featured');

add_action('future_to_publish', 'wpforce_featured');

2611为图片的ID,前提条件,特色图片必须在wordpress的媒体库

文章编辑器选择

这个解决方案有一个比较难解决的问题:那些编辑器上传图片的时候是将图片上传到媒体库中,我来讲讲,目前的使用比较多的编辑器

  • wordpress自带的浏览器编辑器(兼容windows和Mac),由于上传图片很麻烦,安装了『粘贴图片即上传的 WordPress 编辑器增强插件』—Imagepaste,可是上传的文件在媒体库,不能自动设置为特色图片。这种情况,只能设置一张默认了的特色图片。
  • Blogo(仅支持Mac os)可以设置特色图片,他兼容文本编辑框和Markdown编辑框,编辑功能非常也好用,但是最大的痛点是,不能截图粘贴图片。
  • *『Mweb』(仅支持Mac os), 只支持Markdown语法的wordpress发布软件,由于可以粘贴图片,同时上传的图片可以进入媒体库,所以变成一个非常方便的编辑器。

最终文本编辑器的选择方案

  • 如果是windows的电脑,直接用wordpress自带的网页编辑器,正文内容中的图片使用粘贴复制的模式,特色图片设置为固定的图片
  • 如果是mac电脑,那么直接使用『Mweb』,上传图片方便,还可以使用Markdown语法,将焦点聚焦到内容中,不必太重视排版。
最后编辑:
作者:MrBang
WordPress迷

留下一个回复