Sisu Marketing

WordPress: lisage kohandatud klass, kui postitus avaldati täna

Saan klientidelt pidevalt taotlusi kohanduste tegemiseks, millele ma pole kunagi isegi mõelnud. Hiljuti oli meil klient, kes soovis oma avaldatavatele postitustele kohandatud stiili täna et neid saaks kohandatud CSS-klassi abil esile tõsta. Nad soovisid lisada klassi oma lapseteema arhiivilehtedele, otsingutulemustele ja ühe postituse lehe mallidele.

Kohandamiseks <div> klassi WordPressi mallis selle põhjal, kas postitus kirjutati täna, saate kasutada PHP ja WordPress mallisildid oma mallifailis. Siin on näide selle kohta, kuidas seda saavutada.

<?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>

Selles koodilõigul võrdleme postituse kuupäeva ($post_date) praeguse kuupäevaga ($current_date). Kui need ühtivad, määrame kohandatud klassi (custom-today) $custom_class muutuv; vastasel juhul jääb see tühjaks. Asenda 'your-existing-classes' olemasolevate klassidega, mida soovite jätkata <div>. Lisage kõik soovitud täiendavad klassid ja salvestage mallifail.

Kui külastate täna kirjutatud postitust, <div> elemendil on täiendav klass custom-today, mis võimaldab teil seda CSS-i abil erinevalt stiilida. Siin on näide:

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

Mitu eksemplari kogu teie teema jooksul

Kui soovite seda lähenemisviisi kasutada mitme teemafaili puhul, saate lisada oma lapseteema failile functions.php kohandatud funktsiooni:

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');

Seejärel saate iga malli sees lihtsalt lisada post_class:

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

Ajavööndite kaasamine

Ülaltoodud näide lisab klassi teie WordPressi serveri aja ja ajavööndi, mitte külastaja aja ja ajavööndi alusel. Kui soovite, et kaasataks kasutaja ajavööndit, siis siin:

<?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>

Vahemällu salvestamine võib mõjutada eeldatavat käitumist dünaamiliste funktsioonide rakendamisel, nagu elementide kohandamine praeguse kuupäeva või külastaja ajavööndi alusel. Vahemällu salvestamine aitab parandada veebisaidi jõudlust, salvestades veebilehtede või sisu staatilised versioonid, et neid kiiremini teenindada. See võib aga põhjustada probleeme, kui sisu tuleb dünaamiliselt värskendada.

Douglas Karr

Douglas Karr on CMO of OpenINSIGHTS ja selle asutaja Martech Zone. Douglas on aidanud kümneid edukaid MarTechi idufirmasid, on aidanud Martechi omandamisel ja investeeringutel üle 5 miljardi dollari ulatuses läbi viia ning jätkab ettevõtete abistamist nende müügi- ja turundusstrateegiate rakendamisel ja automatiseerimisel. Douglas on rahvusvaheliselt tunnustatud digitaalse transformatsiooni ja MarTechi ekspert ja esineja. Douglas on ka Dummie juhendi ja ärijuhtimise raamatu autor.

seotud artiklid

Tagasi üles nupule
lähedal

Adblock tuvastatud

Martech Zone suudab teile seda sisu tasuta pakkuda, kuna teenime oma saidi rahaks reklaamitulu, sidusettevõtete linkide ja sponsorluse kaudu. Oleksime tänulikud, kui eemaldaksite meie saidi vaatamise ajal oma reklaamiblokeerija.