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

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

/**
* WordPress发布文章前强制要求上传特色图像
* http://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发布文章前强制要求上传特色图像的更多相关文章

  1. SEO优化:WordPress发布文章主动推送到百度,加快收录保护原创

    工作实在太忙,也没时间打理网站.最近公司额外交待了一些网站 SEO 方面的优化任务让我关注(这就是啥都要会.啥都要做的苦逼运维的真实写照了...). 于是抽空看了下百度站长平台,至少看到了2个新消息: ...

  2. WordPress发布文章/页面时自动添加默认的自定义字段

    如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段.将下面的代码添加到当前主题的 functions.php 即可: 1 2 3 ...

  3. 强制SVN上传代码时添加日志

    因SVN不能像Git一样,审核代码之后才合入到主版本.为了使开发人员养成良好的上传习惯,强制要求上付时必须写明上传内容. 可以通过以下方法设置 1,在SVN服务器上找到源码仓库路径,找到下面文件夹:C ...

  4. 如何强制文件上传git仓库里

    1.首先在本地创建一个文件夹里写入一个txt文件 2.然后复制你仓库的地址 3.平时正常操作都是这样上传不上 4.没关系我们使用强制上传 代码是 git push -f “你的仓库地址”   mast ...

  5. 黄聪:WordPress 后台发布文章时提示用户选择分类

    很多用户在后台发布文章,常常会忘记选择分类,所以很有必要添加一个提醒功能,如果没有选择分类,点击发布时,就显示一个提示信息.要实现这个功能,只要将下面的代码添加到主题的 functions.php 即 ...

  6. 2019-11-7:练习上传getshell,通过菜刀连接

    一.使用phtstudy搭建环境 1,将emlog源码解压到phpstudy的www目录,复制emlog源码中的src所有文件到需要搭建emlog的目录中,修改emlog配置文件,输入好本机mysql ...

  7. 如何将wordpress所有文章批量改为已发布状态

    用wordpress建站的一个好处就是bd站长工具平台上有数据结构插件,可以认为bd默认支持wp发展,另外一种建站程序是discuz.我们在用wordpress发布文章时,特别是那种多用户投稿的文章一 ...

  8. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2、PGP下载安装与密钥生成发布

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...

  9. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):5、Maven版本发布与后续版本更新(大结局)

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...

随机推荐

  1. node.js应用生成windows service的plugin——winser

    from:http://xiaomijsj.blog.163.com/blog/static/89685520135854036206/ 针对项目中windows server machine 不断重 ...

  2. jQuery:自学笔记(5)——Ajax

    jQuery:自学笔记(5)——Ajax 使用Ajax快捷函数 说明 出于简化AJAX开发工作的流程,jQuery提供了若干了快捷函数. 实例 1.显示 test.php 返回值(HTML 或 XML ...

  3. 单口双线PC连接转换器 手机电脑耳机转接线

    看着标题是不是很绕, 其实这个需求我相信不少人都有, 只是可能很少会想到. 手机换了一个又一个, 佩戴的耳机同样是一个又一个, 最别扭的是, 用手机的时候往往不用耳机, 不少童鞋都会选择把手机的耳机放 ...

  4. MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  5. vagrant搭建

    1.在官网下载对应的vagrant版本 https://www.vagrantup.com/downloads.html (下载最新版本) https://releases.hashicorp.com ...

  6. Python Streaming实战2: Join的实现与数据过滤

    Hadoop Join 与 Not In的实现  (一)源数据与要实现的查询 1. 要实现的查询 select a.sid ,a.name ,b.course ,b.score from Studen ...

  7. 【Tech】mac下svn和scp使用笔记

    1.命令行从svn下载代码 mac本身自带svn,所以使用非常简单,在本地创建代码存放的文件夹,然后cd到该文件夹下,运行: svn checkout svn://ip地址/文件路径 . 然后出现要求 ...

  8. relativePath

    比如: com.tenace tenace 2.0.1 ../pom.xml //刚开始无此句 com.spider engine 2.6.0-SNAPSHOT tenace作为pom项目已经发布至r ...

  9. java基础(3)-多线程(1)

    java多线程 进程与线程 进程:指一个正在执行的应用程序.每个进程执行都有一个执行顺序,该顺序称为一个执行路径或一个控制单元(进程是资源分配的最小单位).一个进程包含1~n个线程 线程:指进程中某个 ...

  10. 【转载】Java类加载原理解析

    Java类加载原理解析 原文出处:http://www.blogjava.net/zhuxing/archive/2008/08/08/220841.html 1       基本信息 摘要: 每个j ...