Редактировать отображаемую дату публикации в Ultimate Addons Elementor Сообщения с обложкой событий (uael_post_event_date) в WordPress

#php #wordpress #elementor

#php #wordpress #elementor

Вопрос:

У меня здесь большая проблема. Мне нужно отобразить дату публикации моего сообщения в разделе моего блога. (вы можете увидеть это здесь, в разделе блога на главной странице: https://netartsite.com.br/lamat / ).

Я использую Elementor Ultimate Addons для WordPress (ОАЭ), с виджетом Posts, с обложкой Events. У меня есть три сообщения в блоге, одно от 22 марта, а два других — от 1 апреля. Проблема в том, что все три сообщения в блоге отображают дату как 1 апреля вместо правильной даты публикации сообщения. (скриншот прилагается).

скриншот с моей веб-страницы

Я уже нашел в файлах плагинов точную часть, которая отображает дату:

 <div class="uael-post__datebox <?php echo wp_kses_post( $this->get_no_image_class() ); ?>">
            <div class="uael-post__date-wrap">
                <?php
                $date  = "<span class='uael-post__date-day'>";
                $date .= date_i18n( 'd', strtotime( get_the_date() ));
                $date .= '</span>';
                $date .= "<span class='uael-post__date-month'>";
                $date .= date_i18n( 'M', strtotime( get_the_date() ));
                $date .= '</span>';
                ?>
                <?php echo wp_kses_post( apply_filters( 'uael_post_event_date', $date, get_the_ID(), get_option( 'date_format' ), '', '' ) ); ?>
            </div>              
        </div>
 

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

Итак, ребята, я прошу вашей помощи: как я могу изменить дату отображения на фактическую дату публикации сообщения, а не только на дату публикации последнего сообщения?

Заранее большое вам спасибо!

[РЕДАКТИРОВАТЬ] Мне удалось заставить его работать!!! o/

После предыдущей статьи, о которой я говорил ранее, у меня был этот фрагмент кода для вставки в мой functions.php файл:

 add_filter( 'uael_post_event_date', function( $date, $post_id, $date_format ) {
// Modify the date here
return $date;
}, 10, 3 );
 

Изначально я не очень хорошо понимал, что мне нужно изменить в этом файле, так как мои знания в PHP очень просты. Когда я вставлял код, у меня не было никаких изменений во внешнем интерфейсе. Итак, я начал изучать функции WordPress, которые могут отображать дату публикации публикации, и после проб и ошибок (много, lol) я смог заставить его работать, используя следующий код:

 add_filter( 'uael_post_event_date', function( $date, $post_id, $date_format ) {
$date = get_post_field( 'post_date', $post_id, $date_format );
$date_format = get_the_date('d M', $post_id);
// Modify the date here
return $date_format;
}, 10, 3 );
 

Наконец, у меня есть дата публикации каждого сообщения, а не только день из последнего сообщения!!

Я собираюсь оставить это решение здесь, на случай, если у кого-то возникнет такая же проблема.

Ответ №1:

Возможно, опубликованный вами фрагмент не запускается в «цикле», поэтому get_the_date() работает на текущей странице (или сегодняшней дате) вместо конкретной записи.

Есть ли где-нибудь в вашем коде ссылка «id», которую вы можете использовать и передавать get_the_date() (в качестве второго параметра)? Вы пытались изменить get_the_date() таким образом?

get_the_date('', get_the_ID())

Комментарии:

1. спасибо за ваше предложение! Однако, к сожалению, это не сработало.. Никаких изменений в конечном результате … =/