Пользовательский цикл типа пост в короткометражном коде
-
16-10-2019 - |
Вопрос
Я действительно в потере, почему это не работает:
Я использую шорткод для отображения запроса на пользовательском таксономии типа 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
, вы проверяете какие -то конкретные мета -ключи или зацикливаете каждый мета -элемент, который вы найдете? Там может быть место для улучшения (если вам интересно).