Php 发布前WordPress检查帖子标题是否存在,并重定向到最旧的帖子,而不是创建新帖子

Php 发布前WordPress检查帖子标题是否存在,并重定向到最旧的帖子,而不是创建新帖子,php,wordpress,Php,Wordpress,我正在使用用户提交的帖子插件,以便让客人在我的WordPress网站上发布帖子 我希望能够确定用户编写的标题是否已经可用,并将用户重定向到现有帖子,而不是创建新帖子,或者重定向并删除新创建的帖子。我试图创建一些应该可以工作的代码,但我不确定在创建帖子之前,我应该把代码放在哪里才能抓住标题。 如果有帮助,这是我的网站 函数内爆\u all($glue,$arr){ 对于($i=0;$iget_results)($wpdb->posts中选择不同的post_title,其中post_status='

我正在使用用户提交的帖子插件,以便让客人在我的WordPress网站上发布帖子

我希望能够确定用户编写的标题是否已经可用,并将用户重定向到现有帖子,而不是创建新帖子,或者重定向并删除新创建的帖子。我试图创建一些应该可以工作的代码,但我不确定在创建帖子之前,我应该把代码放在哪里才能抓住标题。 如果有帮助,这是我的网站

函数内爆\u all($glue,$arr){
对于($i=0;$iget_results)($wpdb->posts中选择不同的post_title,其中post_status='publish',post_type='post',post_title='$titlul',数组A);
$resultUrl=$GLOBALS['wpdb']->获取结果(“从$wpdb中选择guid->posts,其中post\u title='$titlul',数组A);
$finalUrl=内爆所有(“,”,$resultur);
如果($标题){
wp_重定向($finalur”);
出口
}
我也在functions.php中尝试过这个,但没有成功

function implode_all($glue, $arr){            
for ($i=0; $i<count($arr); $i++) {
    if (@is_array($arr[$i])) 
        $arr[$i] = implode_all ($glue, $arr[$i]);
}            
return implode($glue, $arr);
}
function wp_exist_post_by_title( $title ) {
global $wpdb;
//$title= $_POST['post_title'];
$returnID = $wpdb->get_row( "SELECT ID FROM $wpdb->posts WHERE post_title 
like '%$title%' && post_status = 'publish' && post_type = 'post' order by 
ID limit 1", 'ARRAY_N' );
$resultReturnID = implode_all(", ",$returnID);
$linkPost = get_permalink("$resultReturnID");
if( empty( $returnID ) ) {
return false;
} else {
return true;
}
}

// usage
if( wp_exist_post_by_title( $post->name ) ) {
wp_redirect("$linkPost");
} 
else { 
$post_id = wp_insert_post($new_post);
}
函数内爆\u all($glue,$arr){
对于($i=0;$iget_行(“从$wpdb中选择ID->posts WHERE post_title
类似“%$title%”和&post_状态=“发布”&&post_类型=“发布”顺序
ID限制1“,“数组N”);
$resultReturnID=内爆_all(“,”,$returnID);
$linkPost=get_permalink(“$resultReturnID”);
if(空($returnID)){
返回false;
}否则{
返回true;
}
}
//用法
如果(wp_exist_post_by_title($post->name)){
wp_重定向($linkPost”);
} 
否则{
$post\u id=wp\u insert\u post($new\u post);
}
function implode_all($glue, $arr){            
for ($i=0; $i<count($arr); $i++) {
    if (@is_array($arr[$i])) 
        $arr[$i] = implode_all ($glue, $arr[$i]);
}            
return implode($glue, $arr);
}
function wp_exist_post_by_title( $title ) {
global $wpdb;
//$title= $_POST['post_title'];
$returnID = $wpdb->get_row( "SELECT ID FROM $wpdb->posts WHERE post_title 
like '%$title%' && post_status = 'publish' && post_type = 'post' order by 
ID limit 1", 'ARRAY_N' );
$resultReturnID = implode_all(", ",$returnID);
$linkPost = get_permalink("$resultReturnID");
if( empty( $returnID ) ) {
return false;
} else {
return true;
}
}

// usage
if( wp_exist_post_by_title( $post->name ) ) {
wp_redirect("$linkPost");
} 
else { 
$post_id = wp_insert_post($new_post);
}