WordPress: ເພີ່ມ Custom Class ຖ້າ Post ໄດ້ຖືກຈັດພີມມາໃນມື້ນີ້
ຂ້ອຍໄດ້ຮັບການຮ້ອງຂໍຢ່າງຕໍ່ເນື່ອງຈາກລູກຄ້າຂອງພວກເຮົາສໍາລັບການປັບແຕ່ງທີ່ຂ້ອຍບໍ່ເຄີຍພິຈາລະນາ. ບໍ່ດົນມານີ້, ພວກເຮົາມີລູກຄ້າທີ່ຕ້ອງການຄໍເຕົ້າໄຂ່ທີ່ກໍານົດເອງສໍາລັບຂໍ້ຄວາມຂອງພວກເຂົາທີ່ຖືກເຜີຍແຜ່ ໃນມື້ນີ້ ເພື່ອໃຫ້ພວກເຂົາສາມາດຖືກເນັ້ນໃສ່ໂດຍໃຊ້ຫ້ອງຮຽນ CSS ແບບກຳນົດເອງ. ພວກເຂົາຕ້ອງການລວມເອົາຊັ້ນຮຽນຢູ່ໃນຫນ້າເກັບ, ຜົນການຄົ້ນຫາ, ແລະແມ່ແບບຫນ້າຕອບດຽວຂອງຫົວຂໍ້ເດັກນ້ອຍຂອງພວກເຂົາ.
ເພື່ອປັບແຕ່ງ <div>
ຫ້ອງຮຽນໃນແມ່ແບບ 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>
Caching ສາມາດສົ່ງຜົນກະທົບຕໍ່ພຶດຕິກໍາທີ່ຄາດໄວ້ໃນເວລາທີ່ປະຕິບັດການທໍາງານແບບເຄື່ອນໄຫວເຊັ່ນ: ການປັບແຕ່ງອົງປະກອບໂດຍອີງໃສ່ວັນທີປະຈຸບັນຫຼືເຂດເວລາຂອງຜູ້ເຂົ້າຊົມ. Caching ຊ່ວຍປັບປຸງການປະຕິບັດເວັບໄຊທ໌ໂດຍການເກັບຮັກສາສະບັບຄົງທີ່ຂອງຫນ້າເວັບຫຼືເນື້ອຫາເພື່ອຮັບໃຊ້ພວກມັນໄວຂຶ້ນ. ຢ່າງໃດກໍ່ຕາມ, ມັນສາມາດເຮັດໃຫ້ເກີດບັນຫາໃນເວລາທີ່ເນື້ອຫາຕ້ອງໄດ້ຮັບການປັບປຸງແບບເຄື່ອນໄຫວ.