get_post_meta и add_post_meta не работают в WordPress - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь провести простой тест в WordPress, используя add_post_meta и get_post_meta, но не работает. Я пытаюсь этот код:

function test_post_meta($postID) {
    $count_key = 'test';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        add_post_meta($postID, $count_key, '1');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
    var_dump($count);
    $count = get_post_meta($postID, $count_key, true);
    var_dump($count);
    update_post_meta($postID, $count_key, $count);
}

Результат:

bool (false) bool (false)

Я ожидаю 1-1, 2-2 и так далее при каждом вызове из моей функции. Что я делаю не так?

1 Ответ

1 голос
/ 08 июня 2019

В базе данных ничего не сохраняется?Вы пытались использовать другое значение, чем test?Также убедитесь, что значение $postID действительно задано и является существующим сообщением.

Вы также можете проверить результат update_post_meta, проверить документацию WordPress на ожидаемый результат.

Я немного оптимизировал ваш код:

function test_post_meta($postID) {
    $count_key = 'test';
    $count = (int)get_post_meta($postID, $count_key, true) ?: 1;

    $count++;
    update_post_meta($postID, $count_key, $count);


    var_dump($count);
    var_dump(get_post_meta($postID, $count_key, true));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...