Wordpress-防止自定义字段值重复
Wordpress- prevent duplication of custom field value
我想检查 table wp-postmeta
数据库中名为 cf_isbn
的 meta-key
的值。如果值重复,则阻止插入内容。
我有一段代码,如果我在前端 post-input 中将 xxxxxxx
值放入我的 ISBN 字段,它可以正常工作,但要点是使用查询更改 xxxxxxx
检查数据库中已存在的值。
有php高手知道如何帮助我吗?
function wpufe_isbn_validation( $errors ) {
if( $_POST['cf_isbn'] == 'xxxxxxx' ) {
$errors[] = 'this ISBN is already in database';
}
return $errors;
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );
您应该可以这样做:
function wpufe_isbn_validation( $errors )
{
global $wpdb;
$check = $wpdb->query( $wpdb->prepare("
SELECT *
FROM wp-postmeta
WHERE meta_key = cf_isbn AND meta_value = ".$_POST['cf_isbn']) );
if(!empty($check))
{
return true;
}
else
{
return false;
}
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );
然后您可以根据返回的内容简单地执行另一个 function/piece 代码。显然如果上面returns为真,那么ISBN是重复的,不需要插入。
我想检查 table wp-postmeta
数据库中名为 cf_isbn
的 meta-key
的值。如果值重复,则阻止插入内容。
我有一段代码,如果我在前端 post-input 中将 xxxxxxx
值放入我的 ISBN 字段,它可以正常工作,但要点是使用查询更改 xxxxxxx
检查数据库中已存在的值。
有php高手知道如何帮助我吗?
function wpufe_isbn_validation( $errors ) {
if( $_POST['cf_isbn'] == 'xxxxxxx' ) {
$errors[] = 'this ISBN is already in database';
}
return $errors;
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );
您应该可以这样做:
function wpufe_isbn_validation( $errors )
{
global $wpdb;
$check = $wpdb->query( $wpdb->prepare("
SELECT *
FROM wp-postmeta
WHERE meta_key = cf_isbn AND meta_value = ".$_POST['cf_isbn']) );
if(!empty($check))
{
return true;
}
else
{
return false;
}
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );
然后您可以根据返回的内容简单地执行另一个 function/piece 代码。显然如果上面returns为真,那么ISBN是重复的,不需要插入。