Вопрос

Я действительно в потере, почему это не работает:

Я использую шорткод для отображения запроса на пользовательском таксономии типа Post +, это его сегмент:

        // - arguments -
        $args = array(
            'post_type' => 'customposttypename',
            'taxonomyname' => 'alpha',
            'post_status' => 'publish',
        );

        // - query -
        $my_query = null;
        $my_query = new WP_query($args);
        while ($my_query->have_posts()) : $my_query->the_post();

        // - variables -
        $custom = get_post_custom($post->ID);

... и тогда переменные продолжают идти. Дело в том, что когда я запускаю цикл, он показывает мне весь содержимое поста по умолчанию (т.е. заголовок, контент и т. Д.), Но отказывается отображать пользовательский контент типа Post и остановки на последней строке выше (строка 145), т.е. $custom = get_post_custom($post->ID); давая мне следующую ошибку ..

Примечание: неопределенная переменная: post в c: xampplite ... functions.php в строке 145

УВЕДОМЛЕНИЕ: Попытка получить свойство необъекта в C: xampplite ... functions.php в строке 145

Тогда здесь он показывает мне заголовок, контент и т. Д.

У кого -нибудь есть подсказка, что я делаю не так?

Благодарю вас!

Это было полезно?

Решение

УВЕДОМЛЕНИЕ: Попытка получить имущество без объекта

Вмешатся в это $post не имеет возможности внутри вашей функции. Одно простое решение здесь - глобализация $post Таким образом, он имеет область, эффективно исправляя ошибку.

Однако всякий раз, когда вы создаете запрос, или запускаете петлю и вызов the_post Метод это дает вам доступ к WordPress теги шаблонов.

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

Обновите свою проблему, чтобы прочитать ..

$custom = get_post_custom( get_the_ID() );

И это должно прояснить проблему, конечно, отметив, что дает $post Применение внутри функции также сработает, это просто не будет выглядеть как поэтическая! ..)

Небольшой боковой вопрос обратно к Айдеру, что вы ищете, когда звоните get_post_custom, вы проверяете какие -то конкретные мета -ключи или зацикливаете каждый мета -элемент, который вы найдете? Там может быть место для улучшения (если вам интересно).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top