WordPress update_post_meta значения. Удалить, когда пусто или просто проверить ""? - PullRequest
1 голос
/ 12 марта 2010

Моя функция, приведенная ниже, будет принимать значения из моих пользовательских мета-полей (после того, как сообщение было отредактировано и нажата кнопка сохранения или публикации) и обновлять или вставлять опубликованные мета-значения.

Однако, если пользователь оставляет это поле пустым, я думаю, что я хочу полностью удалить мету (поэтому я могу проверить его наличие и отобразить соответственно вместо проверки "").

Например, одна из моих мета-опций дает пользователю возможность добавить пользовательский заголовок к своему сообщению, который, при его наличии, будет заполнять тег страницы. Однако, если поле оставлено пустым, я хочу установить тег по умолчанию в the_title (), который является просто заголовком сообщения, используемым для идентификации страницы / сообщения.

Поскольку я не удаляю мету при сохранении, она всегда присутствует после того, как пользователь вводит что-то туда, get_post_meta ($ post-> ID, 'MyCustomTitle', true) всегда имеет значение true. Кроме того, они не могут очистить его, очистив поле заголовка и нажав «Опубликовать».

Чего мне не хватает в сохранении, чтобы очистить значение до "", когда пользователь очищает поле?

if ($_POST['MyCustomTitle']) {
update_custom_meta($postID, $_POST['MyCustomTitle'], 'MyCustomTitle');
}

function update_custom_meta($postID, $newvalue, $field_name) {
// To create new meta
if(!get_post_meta($postID, $field_name)){
add_post_meta($postID, $field_name, $newvalue);
}else{
// or to update existing meta
update_post_meta($postID, $field_name, $newvalue);
}
}

1 Ответ

0 голосов
/ 12 марта 2010

Как насчет

$customTitle = $_POST['MyCustomTitle'];
if ($customTitle<>"") {
    update_custom_meta($postID, $customTitle, 'MyCustomTitle');
}else{
    $customTitle = "";
    update_custom_meta($postID, $customTitle, 'MyCustomTitle');
}

, которое принимает значение вашего поста, присваивает переменной '$ customTitle' если он НЕ пустой, то обновите его новым значением или просто обновите его пустым значением?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...