WordPress代码实现防止发表重复标题的文章,如果对你有帮助就看看吧。
其实所有的插件这些的就等于放到function.php的代码片段。function.php里面的插件集成出来也可以做成一个插件,反过来插件也可以集成到function.php里面,插件的好处就是方便管理,但也添加了静态的资源请求,所以就导致了,插件越多也会导致网站卡顿的情况,扯得有点远了,直接上代码。
主要修改的地方是:将 js 转为 script 标签内容,等于消除一个请求,翻译也省了,换成中文。 将下面代码复制粘贴到你主题的 functions.php 文件里面,这个不用解释了吧?
/***发表文章时禁止与已存在的标题相重复*ModifyfromPlugin:DuplicateTitleValidate*Description:thispluginhelp,notallowpublishDuplicateTitle.*Author:hasanmovahed*Reviser:INLOJV*Version:1.0*///发表文章页面,前端抓取标题并使用AJAX发送请求add_action('admin_print_footer_scripts','duplicate_titles_enqueue_scripts',100);functionduplicate_titles_enqueue_scripts(){?><script>jQuery(function($){functioncheckTitleAjax(title,id,post_type){vardata={action:'title_checks',post_title:title,post_type:post_type,post_id:id};$.post(ajaxurl,data,function(response){$('#message').remove();$('#poststuff').prepend('<divid=\\"message\\"class=\\"updatedbelow-h2fade\\"><p>'+response+'</p></div>');});};$('#title').change(function(){vartitle=$('#title').val();varid=$('#post_ID').val();varpost_type=$('#post_type').val();checkTitleAjax(title,id,post_type);});});</script><?php}//接收前端ajax参数add_action('wp_ajax_title_checks','duplicate_title_checks_callback');functionduplicate_title_checks_callback(){global$wpdb;$title=$_POST['post_title'];$post_id=$_POST['post_id'];$titles="SELECTpost_titleFROM$wpdb->postsWHEREpost_status='publish'ANDpost_type='post'ANDpost_title='{$title}'ANDID!={$post_id}";$results=$wpdb->get_results($titles);if($results){echo"<spanstyle='color:red'>"._('此标题已存在,请换一个标题!','')."</span>";}else{echo'<spanstyle="color:green">'._('恭喜,此标题未与其他文章标题重复!','').'</span>';}die();}//检测后端标题并且避免同名文章更新草稿add_action('publish_post','duplicate_titles_wallfa_bc');functionduplicate_titles_wallfa_bc($post){global$wpdb;$title=$_POST['post_title'];$post_id=$post;$wtitles="SELECTpost_titleFROM$wpdb->postsWHEREpost_status='publish'ANDpost_type='post'ANDpost_title='{$title}'ANDID!={$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');functionnot_published_error_notice(){if(isset($_GET['wallfaerror'])==1){?><divclass="updated"><pstyle='color:red'><?php_e('貌似已经存在相同标题的文章,若您使用了文章别名作为固定链接,则可以通过修改本文的固定链接来使标题不再重复!','')?></p></div><?php}}//禁用自动保存add_action('wp_print_scripts','disable_autosave');functiondisable_autosave(){wp_deregister_script('autosave');}
以上就是纯代码实现wordpress防止发布文章出现标题重复,自动检测重复标题文章的教程,希望对大伙有所帮助!
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/35942.html;