Intereting Posts
Постоянно нарушаются регулярные Удаление пользовательского порядка сортировки из списка страниц admin функция переопределения из моего плагина 404 на дочерней странице, когда родительский профайл страницы идентичен пользовательскому типу сообщения Ошибка добавления данных в таблицу опций Как добавить статический текст над редактором? Почему элементы навигации сохранены в базе данных? Каков наилучший способ контролировать функции / исполнения PHP? Петля первые шесть столбов в карусели, следующие восемь в сетке Увеличение неудачных попыток входа в систему, атаки с использованием грубой силы? Почему этот фильтр не работает при передаче параметров? Почему ключевое слово WP_Query 's' => 'ищет только «post_title» и почему не «post_content»? Регенерировать миниатюры для изображений, которые не находятся в медиа-библиотеке Пустой <заголовок> на статической домашней странице? Пользовательская форма WordPress + PHP + MYSQL + AJAX, отправьте событие, не записанное Javascript, но данные POST в базу данных

создание кнопки случайного запроса с использованием $ _GET

Я пытаюсь сделать свой пост случайным, когда я облизываю свою кнопку с помощью $ _GET, но он просто обновляет мою страницу вместо обновления со случайным сообщением.

<a href="<?php echo $my_query; ?>?p=random"><img src="<?php bloginfo('template_directory'); ?>/images/shakeup.png" alt="" /></a> <?php if(isset($_GET['p']) && $_GET['p']=='random') {?> <?php $my_query = new WP_Query('orderby=rand'); ?> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> 

im получить эту ошибку сейчас "Вызов функции-члена has_posts () для не-объекта в"

Solutions Collecting From Web of "создание кнопки случайного запроса с использованием $ _GET"

Вы не можете использовать методы прямого класса have_posts() или the_post() если только вы не работаете с основным запросом. Чтобы изменить основной запрос, вы должны использовать query_posts .

Если вы хотите создать новый объект запроса, вам нужно вызвать эти методы из нового объекта запроса, как показал Rarst в его примере.

Поэтому вы должны быть …

  • Изменение основного запроса

     <?php query_posts('orderby=rand'); ?> <div id="front-video-container"> <?php if( have_posts() ) : ?> <?php while( have_posts() ) : the_post(); ?> 

ПРИМЕЧАНИЕ. Если этот запрос имеет другие цели, вам может потребоваться сохранить существующие параметры запроса, используя слияние массива или query_posts логику query_posts .

  • Или, создавая новый запрос

     <?php $my_query = new WP_Query('orderby=rand'); ?> <div id="front-video-container"> <?php if( $my_query->have_posts() ) : ?> <?php while( $my_query->have_posts() ) : $my_query->the_post(); ?> 

Трудно сказать, не видя больше кода и зная, где вы его размещаете, я бы предположил, что вам нужно будет сохранить параметры запроса, и в этом случае я бы предложил использовать первый образец и условно query_posts строку query_posts .. например ,

 <?php if( isset( $_GET['p'] ) && 'random' == $_GET['p'] ) { query_posts('orderby=rand'); } ?> 

Надеюсь, это поможет.

Вы используете новый объект WP_Query , но функции-обертки для основного запроса.

Пытаться:

 <?php if ($my_query->have_posts()) : ?> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>