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

Настроить <div> class в шаблоне WordPress, в зависимости от того, была ли запись написана сегодня, вы можете использовать теги шаблонов PHP и WordPress в файле шаблона. Вот пример того, как этого добиться:

<?php
// Get the current post's date
$post_date = get_the_date('Y-m-d');

// Get today's date
$current_date = date('Y-m-d');

// Check if the post was written today
if ($post_date === $current_date) {
    $today_class = 'custom-today';
} else {
    $today_class = '';
}
?>

<div class="your-existing-classes <?php echo $today_class; ?>">
    <!-- Your post content goes here -->
</div>

В этом фрагменте кода мы сравниваем дату публикации ($post_date) с текущей датой ($current_date). Если они совпадают, мы назначаем пользовательский класс (custom-today) к $custom_class переменная; в противном случае он остается пустым. Заменять 'your-existing-classes' с существующими классами, которые вы хотите сохранить <div>. Добавьте любые дополнительные классы, которые вы хотите, и сохраните файл шаблона.

Теперь, когда вы посещаете пост, который был написан сегодня, <div> элемент будет иметь дополнительный класс custom-today, что позволяет вам по-разному стилизовать его с помощью CSS. Вот пример:

.custom-today {
background-color: yellow;
}

Несколько экземпляров в вашей теме

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

function add_custom_class_based_on_date($classes) {
    // Get the current post's date
    $post_date = get_the_date('Y-m-d');

    // Get today's date
    $current_date = date('Y-m-d');

    // Check if the post was written today
    if ($post_date === $current_date) {
        $classes[] = 'custom-today';
    }

    return $classes;
}
add_filter('post_class', 'add_custom_class_based_on_date');

Затем вы можете просто добавить в каждый шаблон post_class:

<div <?php post_class(); ?>>
    <!-- Your post content goes here -->
</div>

Включая часовые пояса

В приведенном выше примере класс добавляется на основе времени и часового пояса вашего сервера WordPress, а не времени и часового пояса посетителя. Если вы хотите, чтобы часовой пояс пользователя был включен…

<?php
// Get the current post's date and convert it to the visitor's timezone
$post_date = get_the_date('Y-m-d');
$post_date_timezone = get_post_time('O');
$post_date_timezone_offset = substr($post_date_timezone, 0, 3) * 3600 + substr($post_date_timezone, 3, 2) * 60;

$current_date = date('Y-m-d', current_time('timestamp', false));
$current_date_timezone = get_option('timezone_string');
$current_date_timezone_offset = get_option('gmt_offset') * 3600;

// Calculate the offset between the post date and the current date based on timezones
$timezone_offset = $current_date_timezone_offset - $post_date_timezone_offset;

// Adjust the post date by the timezone offset
$post_date_adjusted = date('Y-m-d', strtotime($post_date) + $timezone_offset);

// Check if the post was written today
if ($post_date_adjusted === $current_date) {
    $today_class = 'custom-today';
} else {
    $today_class = '';
}
?>

<div class="your-existing-classes <?php echo $today_class; ?>">
    <!-- Your post content goes here -->
</div>

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

ЧИТАТЬ  Мини-кроссворд NYT сегодня: решения головоломок на среду, 18 сентября | Цифровые тенденции

Source