Подскажите, куда копать
Может стоит просто подобрать плагин?
Может стоит просто подобрать плагин?
Ничего подходящего не нашел.
в параметры цикла надо добавить:
'date_query' => array(
array(
'column' => 'post_date_gmt',
'before' => '3 hours ago'
)
)
Не срабатывает, все равно все записи выводятся.
Для примера. На главной у меня такой цикл используется
<?php $currentdate_unix = date("U") + 10800; ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
$expirationdate_unix = get_the_date("U") + 10800;
if ( $expirationdate_unix > $currentdate_unix ) {
} ?>
<?php endwhile; ?>
Здесь все работает как надо, но вот с похожими записями не могу разобраться.
весь код ваших похожих записей приведите.
Модератор
Yuri
(@yube)
Попробуйте
$expirationdate_unix = $my_query->get_the_date("U") + 10800;
Но так делать, как делаете Вы — неправильно. Фильтрация должны осуществляться в выборке, а не на выводе. Наличие статьи в интернете не может служить оправданием. Интернет — свободная территория, где каждый пишет что хочет и как хочет. Если следовать всем советам, долго не проживешь 😉
Вот полный код
<?php if (in_category(4)) { ?>
<div class="other-events">
<h3>Другие записи</h3>
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids, // Сортировка производится по категориям
'post__not_in' => array($post->ID),
'showposts'=>6, //Количество выводимых записей
'orderby' => date(dmY), //Сортировка по дате
'order' => ASC, //Сортировка по возрастанию
'caller_get_posts'=>1); // Запрещаем повторение ссылок
$my_query = new wp_query($args);
if( $my_query->have_posts() ) { ?>
<?php
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<?php $currentdate_unix = date("U") + 10800;
$expirationdate_unix = $my_query->get_the_date("U") + 10800;
if ( $expirationdate_unix > $currentdate_unix ) { ?>
<div class="event">
<a class="link" href="<?php echo wp_make_link_relative( get_permalink() ); ?>">
<span class="date"><?php echo dateToRussian(get_the_date(' j F')).', '.get_the_time(); ?></span>
<span class="name"><?php the_title(); ?></span>
<span class="status"></span>
</a>
</div>
<?php } ?>
<?php
} ?>
<?php
}
wp_reset_query();
} ?>
</div> <?php }
?>
Никакие записи при этом не выводятся, только заголовок.
Есть еще какие-нибудь идеи?
Помогите с задачей, до сих пор мучаюсь над ее решением.
до сих пор мучаюсь над ее решением.
https://ru.wordpress.org/plugins/flexible-posts-widget/ и см «Хуки плагина»
Делаю выборку записей по дате, но, как я понял, на сервере время по Гринвичу, и записи текущего дня показываются вплоть до 3-х часов ночи. Как сделать так, чтобы записи следующего дня начинали отображаться с 0 часов?
<?php
$categories = get_the_category($post->ID);
$today = getdate();
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids, // Сортировка производится по категориям
'post__not_in' => array($post->ID),
//'showposts'=>6, //Количество выводимых записей
'year' => $today["year"],
'monthnum' => $today["mon"],
'day' => $today["mday"],
'orderby' => date(dmY), //Сортировка по дате
'order' => ASC, //Сортировка по возрастанию
'caller_get_posts'=>1); // Запрещаем повторение ссылок
$my_query = new wp_query($args);
if( $my_query->have_posts() ) { ?>
<?php
while ($my_query->have_posts()) {
$my_query->the_post();
?>
Все еще в поисках решения проблемы.