Добавить значение в массив с ключом

-2

У меня есть код в моем Wordpress:

        $wiadomosci = get_user_meta($user->ID,'wiadomosci', false);
        if($wiadomosci) {
            array_push($wiadomosci[$topic], $post->ID);
            update_user_meta($user->ID, 'wiadomosci', $wiadomosci);
        } else {
            $wiadomosci = array($topic => array($post->ID));
            add_user_meta($user->ID, 'wiadomosci', $wiadomosci);
        }

Когда переменная $ wiadomosci не существует, я создаю массив. $ topic - это идентификатор cateogory. Поэтому я получаю следующее:

Array
(
[0] => Array
    (
        [8] => Array
            (
                [0] => 139
            )

    )

)

8 - это идентификатор категории и 139 post ID. Теперь, когда переменная $ topic равна 8, я хочу добавить идентификатор сообщения (например, 140) и получить следующее:

Array
(
[0] => Array
    (
        [8] => Array
            (
                [0] => 139
                [1] => 140
            )

    )

)

Но я получаю это:

Array
(
[0] => Array
    (
        [0] => Array
            (
                [8] => Array
                    (
                        [0] => 139
                    )

            )

        [8] => 
    )

)

Я попробовал заменить

array_push($wiadomosci[$topic], $post->ID);

с:

$wiadomosci[$topic] = $post->ID

Но это не работает. Есть идеи?

Теги:
arrays

3 ответа

0

Хорошо, я решил это. Здесь код:

        $wiadomosci = get_user_meta($user->ID,'wiadomosci', false);
        if($wiadomosci) {
            $tmp = $wiadomosci[0][$topic];
            $tmp[] = $post->ID;
            $wiadomosci[0][$topic] = $tmp;
            update_user_meta($user->ID, 'wiadomosci', $wiadomosci[0]);
        } else {
            $wiadomosci = array($topic => array($post->ID));
            add_user_meta($user->ID, 'wiadomosci', $wiadomosci);
        }
0

Проблема в том, что wp_get_post_meta(..., false ) возвращает массив - false означает, что meta несколько. Измените последний аргумент на true и вы должны быть установлены.

-1

если вы сделаете это в своем другом?

$wiadomosci = array($topic => $post->ID);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню