WordPress教程-纯代码实现防止发表重复标题的文章

作者 : sinyi 发布时间: 2019-09-6 文章热度:91 共1491个字,阅读需4分钟。 隐藏侧边 显示侧边

 

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
 * Author URI: http:/www.qq301.com
 * Reviser URI: https://www.qq301.com
 */
 
 
// 发表文章页面,前端抓取标题并使用AJAX发送请求
add_action( 'admin_print_footer_scripts', 'duplicate_titles_enqueue_scripts', 100 );
function duplicate_titles_enqueue_scripts() {
?>
 
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 ){
	   ?>
	   
	   

 

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
资源客 » WordPress教程-纯代码实现防止发表重复标题的文章

发表评论