WordPress网站发布文章时如何防止发布重复标题的文章?

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

WordPress网站防止发布重复标题文章

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

  / **

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

  *从插件修改:重复标题验证

  *说明:此插件帮助,不允许发布Duplicate Title。

  *作者:哈桑·莫瓦希德

  *修订者:INLOJV

  *版本:1.0

  * /

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

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

  函数repeat_titles_enqueue_scripts(){

  ?>

  <脚本>

  jQuery(函数($){

  函数checkTitleAjax(title,id,post_type){

  var data = {

  动作:“ title_checks”,

  post_title:标题,

  post_type:post_type,

  post_id:id

  };

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

  $(’#message’)。remove();

  $(’#poststuff’)。prepend('<div id =” message” class =“”在-h2以下更新“> <p>’+响应+'</ p> </ div>’));

  });

  };

  $(’#title’)。change(function(){

  var title = $(’#title’)。val();

  var id = $(’#post_ID’)。val();

  var post_type = $(’#post_type’)。val();

  checkTitleAjax(title,id,post_type);

  });

  });

  </ script>

  <?php

  }

  //接收前端ajax参数

  add_action(’wp_ajax_title_checks’,’duplicate_title_checks_callback’);

  函数repeat_title_checks_callback(){

  全局$ wpdb;

  $ title = $ _POST [‘post_title’];

  $ post_id = $ _POST [‘post_id’];

  $ titles =“从$ wpdb-> posts中选择post_title,而post_status =’publish’AND post_type =’post’

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

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

  if($ results){

  回显“ <span style =’color:red’>”。_(’此标题已存在,请换一个标题!’,”)。” </ span>”;

  }其他{

  echo'<span style =” color:green”>’._(’恭喜,此标题未与其他文章标题重复!’,”)。'</ span>’;

  }

  死();

  }

  //检测标题和避免同名文章更新草稿

  add_action(’publish_post’,’duplicate_titles_wallfa_bc’);

  函数repeat_titles_wallfa_bc($ post){

  全局$ wpdb;

  $ title = $ _POST [‘post_title’];

  $ post_id = $ post;

  $ wtitles =“从$ wpdb-> posts中选择post_title,post_status =’publish’AND post_type =’post’

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

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

  如果($ 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);

  出口 ;

  }

  }

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

  add_action(’admin_notices’,’not_published_error_notice’);

  函数not_published_error_notice(){

  if(isset($ _ GET [‘wallfaerror’])== 1){

  ?>

  <div class =“已更新”>

  <p style =’color:red’> <?php _e(’貌似已经存在相同标题的文章,如果您使用了文章别名作为固定链接,则可以通过修改此处的固定链接来使标题不再重复!” ,”)?> </ p>

  </ div>

  <?php

  }

  }

  //补充自动保存

  add_action(’wp_print_scripts’,’disable_autosave’);

  函数disable_autosave(){

  wp_deregister_script(’autosave’);

  }

给TA打赏
共{{data.count}}人
人已打赏
WP实用教程

常用wordpress主题动作钩子及使用

2019-2-24 15:28:45

WP实用教程

如何处理WordPress网站出现CPU占有100%的问题?

2019-2-24 17:08:30


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内 删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:指点聚源码
  2. 2、本站永久网址:https://www.zhidianju.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!(由于模板不是很完善签到 需刷新一下!)。
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
  6. 6、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  7. 7、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁 止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支 持你喜欢的作者,谢谢!
  8. 8、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源, 都不包含技术服务 请大家谅解!
  9. 9、如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!
  10. 10、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
2 条回复 A文章作者 M管理员
  1. I am an investor of gate io, I have consulted a lot of information, I hope to upgrade my investment strategy with a new model. Your article creation ideas have given me a lot of inspiration, but I still have some doubts. I wonder if you can help me? Thanks.

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索