Я хочу проверить значения meta-key
называется cf_isbn
уже в базе данных в таблице wp-postmeta
, Если значение повторяется, запретите вставку содержимого.
У меня есть кусок кода, который работает правильно, если я поставлю 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' );
Затем вы можете просто выполнить другую функцию / фрагмент кода в зависимости от того, что возвращается. Очевидно, что если вышеприведенное возвращает true, тогда ISBN дублируется и не нуждается в вставке.
Я хочу проверить значения meta-key
называется cf_isbn
уже в базе данных в таблице wp-postmeta
, Если значение повторяется, запретите вставку содержимого.
У меня есть кусок кода, который работает правильно, если я поставлю 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' );
Затем вы можете просто выполнить другую функцию / фрагмент кода в зависимости от того, что возвращается. Очевидно, что если вышеприведенное возвращает true, тогда ISBN дублируется и не нуждается в вставке.