事实上,所有插件后端代码都等同于将代码片段添加到functions.php中,functions.php代码片段可以生成插件,然后插件可以自然地集成到functions.php中。插件主要易于管理,但也增加了静态资源请求的数量。如果您知道如何处理这些请求,就不必使用插件来优化站点。WordPress网站发布文章时如何防止发布重复标题的文章?

主要的修改地方是: js 转为 script 标签内容,等于删除一个请求,翻译也被保存,用中文代替。把下面的代码复制并粘贴到你的主题的functions.php文件中。

/**

* 发表文章时禁止与已存在的标题相重复

* Modify from Plugin: Duplicate Title Validate

* Description: this plugin help , not allow publish Duplicate Title .

* Author: hasan movahed

* Reviser: INLOJV

* Version: 1.0

*/

// 发表文章页面,前端抓取标题并使用AJAX发送请求

add_action( 'admin_print_footer_scripts', 'duplicate_titles_enqueue_scripts', 100 );

function duplicate_titles_enqueue_scripts() {

?>

jQuery(function($){

function checkTitleAjax(title, id,post_type) {

var data = {

action: 'title_checks',

post_title: title,

post_type: post_type,

post_id: id

};

$.post(ajaxurl, data, function(response) {

$('#message').remove();

$('#poststuff').prepend('

'+response+'

');

});

};

$('#title').change(function() {

var title = $('#title').val();

var id = $('#post_ID').val();

var post_type = $('#post_type').val();

checkTitleAjax(title, id,post_type);

});

});

}

// 接收前端ajax参数

add_action('wp_ajax_title_checks', 'duplicate_title_checks_callback');

function duplicate_title_checks_callback(){

global $wpdb;

$title = $_POST['post_title'];

$post_id = $_POST['post_id'];

$titles = "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'

AND post_title = '{$title}' AND ID != {$post_id} ";

$results = $wpdb->get_results($titles);

if($results) {

echo "". _( '此标题已存在,请换一个标题!' , '' ) ." ";

} else {

echo ''._('恭喜,此标题未与其他文章标题重复!' , '').'';

}

die();

}

// 检测后端标题并且避免同名文章更新草稿

add_action( 'publish_post','duplicate_titles_wallfa_bc' ) ;

function duplicate_titles_wallfa_bc( $post ){

global $wpdb ;

$title = $_POST['post_title'] ;

$post_id = $post ;

$wtitles = "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'

AND post_title = '{$title}' AND ID != {$post_id} " ;

$wresults = $wpdb->get_results( $wtitles ) ;

if ( $wresults ){

$wpdb->update( $wpdb->posts, array( 'post_status' =>

'draft' ), array( 'ID' => $post ) ) ;

$arr_params = array( 'message' => '10', 'wallfaerror' => '1' ) ;

$location = add_query_arg( $arr_params , get_edit_post_link( $post , 'url' ) ) ;

wp_redirect( $location ) ;

exit ;

}

}

/// 文章提交更新后的提示

add_action( 'admin_notices', 'not_published_error_notice' );

function not_published_error_notice() {

if(isset($_GET['wallfaerror']) == 1 ){

?>

}

}

// 禁用自动保存

add_action( 'wp_print_scripts', 'disable_autosave' ) ;

function disable_autosave(){

wp_deregister_script( 'autosave' ) ;

}

php 标题去重复思想,WordPress网站发布文章时如何防止发布重复标题的文章?相关推荐

  1. wordpress添加html媒体文件,WordPress“添加媒体”文件时只显示上传到当前文章的附件图片...

    最近子凡把很大一部分精力都分散在了泪雪建站的改版和泪雪网的运营中去了,随着泪雪网的定位和内容的新增,网站也需要有很多细节的升级,而在今天就给大家分享一个 WordPress 如何在编辑文章时" ...

  2. 织梦html标题怎么改,织梦网站seo优化技巧-改栏目名称seo标题即可

    你们了解过织梦网站seo优化技巧吗?使用该优化首先你要改栏目名称为seo标题,然后在网站的UR路径上进行拼音的修改,修改完之后要以文章的路径保存好,感兴趣的话就随小编一起来了解下吧! 第一步 网站标题 ...

  3. Latex写文章时如何让表格的标题序号单独一行,注释居中大写

    最近写文章的时候,发现Table的title要求 "TABLE 1" 单独一行,然后标题 "xxxx" 另起一行并居中.这个如何实现呢? 1. 在文章最前面调用 ...

  4. wordpress克隆站点_如何通过7个简单步骤克隆WordPress网站

    wordpress克隆站点 Generally speaking, cloning is considered an unethical practice. However, when you thi ...

  5. wordpress 黑客_12个迹象表明您的WordPress网站被黑客入侵

    wordpress 黑客 We are often asked what are some signs that indicate a WordPress site is hacked? There ...

  6. 小白的WordPress网站优化加速之路总结

    WordPress网站优化加速的教程网络上很多,但是很多都说的比较笼统,或者就是太老了,我从20年11月入坑WordPress,到现在也快半年了,然后我的网站自认为速度还过得去,所以今天就给大家分别从 ...

  7. 打印表格留标题怎么设置_打印Excel表格时每页都打印标题行的设置方法

    为了使打印出来的Excel文档便于阅读,在进行打印时可以在各页都打印标题行,下面介绍打印Excel表格时每页都打印标题行的具体设置方法. 1.打开需要打印的工作表,在"页面布局"选 ...

  8. 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...

    WordPress本来是一个博客,但是由于功能强大.用户众多,发展到现在Wordpress已经成为了一个CMS平台了,甚至有一些企业建站都用了Wordpress,真的是无处不在.Wordpress用于 ...

  9. Python自动发布markdown文章到WordPress网站

    关于WordPress客户端很多,也有很多markdown编辑器也支持编辑完文章然后本地一键发布到WordPress网站.不过这篇文章要实现的是通过Python脚本来实现本地文章自动发布到WordPr ...

最新文章

  1. xdoj 1114(线段树离线处理)
  2. 新公司研发能力低下,何去何从?
  3. 字符串还可以这样初始化--uboot篇
  4. 细说angular Form addControl方法
  5. python画折线图详解-利用python画出折线图
  6. Ubuntu关闭ipv6
  7. 判断Windows操作系统位数的方法
  8. 谈谈lucene的DocValues特性之SortedNumericDocValuesField
  9. 亚马逊率先用Sun新推OpenSolaris系统
  10. s10_part3_django_ORM_查询相关_非常重要
  11. java美图秀秀,【美图秀秀和Java手机游戏模拟器哪个好用】美图秀秀和Java手机游戏模拟器对比-ZOL下载...
  12. 2021年JAVA原生安卓影视APP源码支持PC+WAP
  13. GIF动态图片分解,多帧动态图分解成多张静态图片
  14. word文档转换为md文档
  15. 面试被问到平衡二叉树如何平衡?
  16. mysql源码分析——THD数据结构
  17. 每天一个php函数之:strtolower() 函数
  18. 关于三子棋游戏的简易实现与N子棋胜利判断方法
  19. Java设计模式七大原则(3)
  20. 平衡二叉树(Java)

热门文章

  1. 4 曝光_荣耀户外手表GS Pro曝光:超强续航 9月4日发布
  2. stl resize函数_vector :: resize()函数以及C ++ STL中的示例
  3. linkedhashset_Java LinkedHashSet clear()方法与示例
  4. Java ObjectOutputStream writeDouble()方法与示例
  5. Java中实现定时任务的3种方法!
  6. 万字详解|手撕 9大排序算法!
  7. Win7搭建NodeJs开发环境以及HelloWorld展示—图解
  8. 最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】
  9. 转:Oracle物理文件
  10. oracle中trunc x-1,oracle中trunc函数的说明