Wordpress主题技巧

WordPress发布文章前强制要求上传特色图像

WordPress发布文章前强制要求上传特色图像

如果你的网站需要给每篇文章设置特色图像才能达到理想的显示效果,而且允许其他用户在后台发布文章的,那么您可能需要强制要求他们给文章上传特色图像,否者就无法发布。Require Featured Image 就可以实现这个功能,如果没有上传特色图像,发布按钮就无法点击。

require-featured-image-wpdaxue_com

在后台插件安装界面搜索 Require Featured Image 即可在线安装,或者下载Require Featured Image。

该插件不支持本地化,所以你可能需要手动修改插件文件的提示文字为中文。

2013-10-15 更新:

如果你不想使用 Require Featured Image 插件,也可以试试下面的方法。

将代码添加到主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
 * WordPress发布文章前强制要求上传特色图像
 * https://www.wpdaxue.com/require-featured-image.html
 */
add_action('save_post', 'pu_validate_thumbnail');
function pu_validate_thumbnail($post_id)
{
	// 只验证文章(post)
	if(get_post_type($post_id) != 'post')
		return;
	// 检查是否有缩略图
	if ( !has_post_thumbnail( $post_id ) ) {
		// 确认验证缩略图失败,设置临时状态(transient)
		set_transient( "pu_validate_thumbnail_failed", "true" );
		// 移除save_post钩子,以便保存文章且重新链接文章
		remove_action('save_post', 'pu_validate_thumbnail');
		wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
		add_action('save_post', 'pu_validate_thumbnail');
	} else {
		// 如果文章有缩略图,删除临时状态(transient)
		delete_transient( "pu_validate_thumbnail_failed" );
	}
}
add_action('admin_notices', 'pu_validate_thumbnail_error');
function pu_validate_thumbnail_error()
{
	// 检查是否设置了临时状态(transient),如果是,显示提示信息
	if ( get_transient( "pu_validate_thumbnail_failed" ) == "true" ) {
		echo "<div id='message' class='error'><p><strong>发布文章前,您必须设置一个特色图像</strong></p></div>";
		delete_transient( "pu_validate_thumbnail_failed" );
	}
}

/**
* WordPress发布文章前强制要求上传特色图像
* https://www.wpdaxue.com/require-featured-image.html
*/
add_action(‘save_post’, ‘pu_validate_thumbnail’);
function pu_validate_thumbnail($post_id)
{
// 只验证文章(post)
if(get_post_type($post_id) != ‘post’)
return;
// 检查是否有缩略图
if ( !has_post_thumbnail( $post_id ) ) {
// 确认验证缩略图失败,设置临时状态(transient)
set_transient( "pu_validate_thumbnail_failed", "true" );
// 移除save_post钩子,以便保存文章且重新链接文章
remove_action(‘save_post’, ‘pu_validate_thumbnail’);
wp_update_post(array(‘ID’ => $post_id, ‘post_status’ => ‘draft’));
add_action(‘save_post’, ‘pu_validate_thumbnail’);
} else {
// 如果文章有缩略图,删除临时状态(transient)
delete_transient( "pu_validate_thumbnail_failed" );
}
}
add_action(‘admin_notices’, ‘pu_validate_thumbnail_error’);
function pu_validate_thumbnail_error()
{
// 检查是否设置了临时状态(transient),如果是,显示提示信息
if ( get_transient( "pu_validate_thumbnail_failed" ) == "true" ) {
echo "<div id=’message’ class=’error’><p><strong>发布文章前,您必须设置一个特色图像</strong></p></div>";
delete_transient( "pu_validate_thumbnail_failed" );
}
}

效果为:新建文章时,自动保存草稿,然后显示提示信息,如果没有添加特色图像,就没办法发布文章(始终为草稿)

参考资料:http://www.paulund.co.uk/check-a-featured-image-is-set-before-publishing

Wordpress主题技巧

更多有关于 Wordpress主题技巧

V9火车采集器,快速入门!

塔克网整站模板 安装使用指南

WordPress如何备份网站数据库和文件?WordPress整站搬家操作流程。

WordPress网站安全设置教程

国外英文广告联盟网站模板,WordPress主题整站演示地址列表

WordPress主题开发:开启文章缩略图功能

WordPress 自定义头像插件:WP User Avatar

WordPress 后台管理界面UI自定义插件:WP Admin UI Customize

WordPress 自定义文章/页面阅读权限的插件:User Specific Content

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2016 Tadke.com. Powered by Wordpress.