คุณกำลังมองหาวิธีตั้งค่าภาพขนาดย่อของโพสต์เริ่มต้นสำหรับหมวดหมู่ WordPress เฉพาะหรือไม่?
หากคุณมีบทความที่ไม่มีรูปภาพเด่น หรือหากคุณต้องการให้โพสต์ทั้งหมดในหมวดหมู่มีภาพขนาดย่อที่คล้ายกัน คุณสามารถตั้งค่ารูปภาพสำรองสำหรับแต่ละหมวดหมู่ได้ เพื่อไม่ให้โพสต์ในบล็อกถูกละเลย
ในบทความนี้ เราจะแสดงวิธีตั้งค่ารูปภาพเด่นทางเลือกเริ่มต้นสำหรับหมวดหมู่เฉพาะใน WordPress
สมมติว่าคุณมีบล็อก WordPress ที่คุณกำหนดหมวดหมู่เดียวให้กับแต่ละโพสต์ คุณสามารถกำหนดให้โพสต์ทั้งหมดในหมวดหมู่นั้นแสดงรูปภาพสำรองเดียวกันได้ หากไม่มีรูปภาพเด่นด้วยเหตุผลบางประการ
ข้อดีอีกประการหนึ่งของการเพิ่มรูปภาพทางเลือกสำหรับหมวดหมู่โพสต์ก็คือ หากหน้าเก็บหมวดหมู่ของคุณมีผู้ค้นหาจำนวนมาก ก็จะทำให้หน้าน่าสนใจและน่าดึงดูดยิ่งขึ้น
ที่กล่าวว่าเรามาดูกันว่าคุณสามารถเพิ่มรูปภาพสำรองตามหมวดหมู่โพสต์โดยใช้ปลั๊กอิน WordPress และโค้ดที่กำหนดเองได้อย่างไร
ตามค่าเริ่มต้น WordPress ไม่มีตัวเลือกในการเพิ่มรูปภาพลงในหน้าหมวดหมู่โพสต์ของคุณ อย่างไรก็ตาม คุณสามารถตั้งค่ารูปภาพสำรองสำหรับหมวดหมู่โพสต์ได้อย่างง่ายดายโดยใช้ปลั๊กอิน WordPress
ขั้นแรก คุณจะต้องติดตั้งและเปิดใช้งานปลั๊กอินหมวดหมู่และอนุกรมวิธานรูปภาพ สำหรับรายละเอียดเพิ่มเติม โปรดดูคำแนะนำในการติดตั้งปลั๊กอิน WordPress
เมื่อเปิดใช้งาน คุณสามารถไปที่ การตั้งค่า » รูปภาพอนุกรมวิธาน จากแผงผู้ดูแลระบบ WordPress จากนั้น คุณสามารถคลิกช่องทำเครื่องหมาย "หมวดหมู่" เพื่อรวมรูปภาพอนุกรมวิธานในหมวดหมู่โพสต์ของคุณเป็นทางเลือกได้
อย่าลืมคลิกปุ่ม "บันทึกการเปลี่ยนแปลง" เมื่อดำเนินการเสร็จแล้ว
หลังจากนั้น คุณสามารถไปที่ โพสต์ » หมวดหมู่ จากแดชบอร์ด WordPress ของคุณ คุณจะเห็นช่อง "รูปภาพ" ปรากฏขึ้นเมื่อเพิ่มหมวดหมู่ใหม่หรือแก้ไขหมวดหมู่ที่มีอยู่
เพียงป้อน URL รูปภาพที่คุณต้องการเพิ่มลงในหมวดหมู่ WordPress ของคุณ หากต้องการรายละเอียดเพิ่มเติม โปรดดูคำแนะนำในการรับ URL ของรูปภาพที่คุณอัปโหลดใน WordPress
ตอนนี้ เมื่อคุณเผยแพร่โพสต์บนบล็อกโดยไม่มีการกำหนดรูปภาพเด่น WordPress จะใช้รูปภาพที่คุณเพิ่งกำหนดไว้สำหรับหมวดหมู่ของคุณ
นี่คือตัวอย่างภาพที่เราใช้บนไซต์สาธิตของคุณ
นั่นคือทั้งหมด! ตอนนี้คุณได้เพิ่มรูปภาพทางเลือกตามหมวดหมู่โพสต์เรียบร้อยแล้ว
คุณยังสามารถกำหนดค่ารูปภาพสำรองสำหรับหมวดหมู่โพสต์ได้โดยไม่ต้องใช้ปลั๊กอิน WordPress อย่างไรก็ตาม ไม่แนะนำวิธีนี้สำหรับผู้เริ่มต้นเนื่องจากต้องใช้ข้อมูลโค้ด
สิ่งแรกที่คุณต้องทำคือสร้างภาพสำหรับหมวดหมู่ WordPress ของคุณ ใช้ Category Slug เป็นชื่อไฟล์ภาพของคุณและบันทึกทั้งหมดในรูปแบบเดียวกัน เช่น JPG หรือ PNG
จากนั้น คุณสามารถอัปโหลดภาพหมวดหมู่ของคุณไปยังไซต์ WordPress ได้จาก สื่อ » เพิ่มใหม่
WordPress จะจัดเก็บภาพหมวดหมู่ของคุณในระหว่างการอัปโหลดและสร้างขนาดภาพที่กำหนดโดยธีมของคุณ
หลังจากอัพโหลดภาพหมวดหมู่แล้ว คุณจะต้องย้ายภาพเหล่านั้นไปยังไดเร็กทอรีอื่น เพียงเชื่อมต่อกับเว็บไซต์ของคุณโดยใช้ไคลเอนต์ FTP และไปที่โฟลเดอร์ /wp-content/uploads/
รูปภาพหมวดหมู่ที่คุณอัปโหลดจะถูกจัดเก็บไว้ในโฟลเดอร์เดือน เช่น /uploads/2022/08/
ไปข้างหน้าและเปิดโฟลเดอร์ของเดือนนี้
คุณสามารถดูคำแนะนำของเราเกี่ยวกับตำแหน่งที่ WordPress เก็บรูปภาพไว้บนเว็บไซต์ของคุณสำหรับข้อมูลเพิ่มเติม
จากนั้น สร้างโฟลเดอร์บนเดสก์ท็อปของคอมพิวเตอร์และตั้งชื่อเป็นหมวดหมู่-รูปภาพ ตอนนี้ให้ดาวน์โหลดภาพหมวดหมู่ทั้งหมดของคุณและทุกขนาดที่ WordPress สร้างขึ้นมาลงในโฟลเดอร์ใหม่นี้บนเดสก์ท็อปของคุณ
เมื่อการดาวน์โหลดเสร็จสิ้น คุณจะต้องอัปโหลดโฟลเดอร์ category-images ไปยังไดเร็กทอรี /wp-content/uploads ของคุณ การทำเช่นนี้จะทำให้คุณมีขนาดรูปภาพหมวดหมู่ทั้งหมดอยู่ในโฟลเดอร์แยกต่างหาก ซึ่งง่ายต่อการเรียกใช้ในธีมของคุณ
สำหรับรายละเอียดเพิ่มเติม โปรดดูคำแนะนำเกี่ยวกับวิธีใช้ FTP เพื่ออัปโหลดไฟล์ไปยัง WordPress
การแสดงภาพหมวดหมู่เป็นภาพเด่นทางเลือกเริ่มต้น
ต่อไป เราจะแสดงให้คุณเห็นถึงวิธีการแสดงภาพใดภาพหนึ่งเป็นภาพเด่นทางเลือก เมื่อโพสต์ในหมวดหมู่ไม่มีชุดใดชุดหนึ่ง
วิธีการนี้เกี่ยวข้องกับการคัดลอกและวางโค้ด และโดยปกติเราไม่แนะนำให้ผู้ใช้แก้ไขไฟล์ธีมของตน ข้อผิดพลาดเล็กๆ น้อยๆ อาจทำให้เกิดข้อผิดพลาดใหญ่ในไซต์ของคุณได้
วิธีที่ง่ายกว่าในการเพิ่มโค้ดลงในไซต์ของคุณคือการใช้ WPCode เป็นปลั๊กอินข้อมูลโค้ด WordPress ที่ดีที่สุดและช่วยให้คุณจัดการโค้ดที่กำหนดเองบนไซต์ของคุณได้
ขั้นแรก คุณจะต้องติดตั้งและเปิดใช้งานปลั๊กอิน WPCode ฟรี สำหรับรายละเอียดเพิ่มเติม โปรดดูคำแนะนำในการติดตั้งปลั๊กอิน WordPress
จากนั้น คุณสามารถไปที่ Code Snippets » + Add Snippet ในแผงควบคุม WordPress ของคุณเพื่อเพิ่ม Snippet ใหม่ จากนั้นเพียงคลิกที่ปุ่ม 'เพิ่มใหม่'
หลังจากนั้น คุณสามารถเพิ่มโค้ดที่กำหนดเองหรือใช้ข้อมูลโค้ดจากไลบรารี WPCode ได้
สำหรับสิ่งนี้ คุณจะต้องใช้โค้ดที่คุณกำหนดเอง ดังนั้นให้วางเมาส์เหนือตัวเลือก "เพิ่มโค้ดที่กำหนดเองของคุณ (ตัวอย่างข้อมูลใหม่)" แล้วคลิกตัวเลือก "ใช้ตัวอย่างข้อมูล"
ตอนนี้ให้เพิ่มชื่อสำหรับข้อมูลโค้ดของคุณและป้อนโค้ดในส่วน "ดูตัวอย่างโค้ด"
เนื่องจากโค้ดมี PHP ตรวจสอบให้แน่ใจว่าได้เลือก 'ประเภทโค้ด' เป็นตัวอย่าง PHP
เพียงคัดลอกข้อมูลโค้ดต่อไปนี้และวางลงในช่อง "ดูตัวอย่างโค้ด"
/**
* Plugin Name: Category Thumbnail Fallback
* Description: Use the category image as fallback when the post does not have a featured image
*/
class WPBCategoryThumbnailFallback
{
protected static $taxonomies = ['category'];
protected $nonceId = 'wpb_category_thumb_fallback_none';
protected $fieldId = 'wpb_category_fallback_post_image';
public $taxonomy;
protected function __construct($taxonomy)
{
$this->taxonomy = $taxonomy;
}
public static function init()
{
foreach (static::$taxonomies as $taxonomy) {
$_self = new self($taxonomy);
add_action('admin_enqueue_scripts', [$_self, 'scripts']);
add_action("{$taxonomy}_add_form_fields", [$_self, 'add']);
add_action("{$taxonomy}_edit_form_fields", [$_self, 'edit'], 99, 2);
add_action("created_{$taxonomy}", [$_self, 'saveTerm'], 10, 2);
add_action("edited_{$taxonomy}", [$_self, 'editTerm'], 10, 2);
add_filter("get_post_metadata", [$_self, 'fallback'], 99, 5);
}
}
public function scripts($hook_suffix)
{
if (in_array($hook_suffix, ['term.php', 'edit-tags.php'])) {
$screen = get_current_screen();
if (is_object($screen) && "edit-{$this->taxonomy}" == $screen->id) {
wp_enqueue_media();
wp_add_inline_script('media-editor', $this->inlineScript());
}
}
}
public function add()
{
?>
<div class="form-field upload_image-wrap">
<label for="upload_image">Image</label>
<input id="upload_image" type="hidden" size="36" name="<?php
echo esc_attr($this->fieldId)
?>" value=""/>
<div id="wpb-category-image-preview" style="max-width: 150px; max-height: 150px;"></div>
<input id="upload_image_button" class="button" type="button" value="Upload Image"/>
<p>Enter a URL or upload an image</p>
</div>
<?php
wp_nonce_field($this->nonceId, $this->nonceId);
}
public function edit($term, $taxonomy)
{
$value = get_term_meta($term->term_id, $this->fieldId, true);
$image = wp_get_attachment_image((int)$value);
?>
<tr class="form-field upload_image-wrap">
<th scope="row"><label for="name">Image</label></th>
<td>
<label for="upload_image">
<input id="upload_image" type="hidden" size="36" name="<?php
echo esc_attr($this->fieldId)
?>" value="<?php
echo esc_attr($value)
?>"/>
<div id="wpb-category-image-preview" style="max-width: 150px; max-height: 150px;"><?php
echo $image;
?></div>
<input id="upload_image_button" class="button" type="button" value="Upload Image"/>
</label>
<p class="description">Enter a URL or upload an image</p>
</td>
</tr>
<?php
wp_nonce_field($this->nonceId, $this->nonceId);
}
public function saveTerm($term_id, $tt_id)
{
$data = array_filter(wp_unslash($_POST), function ($value, $key) {
return in_array($key, [$this->nonceId, $this->fieldId]);
}, ARRAY_FILTER_USE_BOTH);
if (
empty($data) ||
empty($data[$this->nonceId]) ||
! wp_verify_nonce($data[$this->nonceId], $this->nonceId) ||
! current_user_can('manage_categories')
) {
return null;
}
if (empty($data[$this->fieldId]) || empty(absint($data[$this->fieldId]))) {
return delete_term_meta($term_id, $this->fieldId);
}
$value = absint($data[$this->fieldId]);
return update_term_meta($term_id, $this->fieldId, $value);
}
public function editTerm($term_id, $tt_id)
{
$this->saveTerm($term_id, $tt_id);
}
public function fallback($null, $object_id, $meta_key, $single, $meta_type)
{
if (
$null === null &&
$meta_key === '_thumbnail_id'
) {
$meta_cache = wp_cache_get($object_id, $meta_type . '_meta');
if ( ! $meta_cache) {
$meta_cache = update_meta_cache($meta_type, [$object_id]);
$meta_cache = $meta_cache[$object_id] ?? null;
}
$val = null;
if (isset($meta_cache[$meta_key])) {
if ($single) {
$val = maybe_unserialize($meta_cache[$meta_key][0]);
} else {
$val = array_map('maybe_unserialize', $meta_cache[$meta_key]);
}
}
if (empty($val)) {
$fallbackImageId = $this->getPostFallbackImageId($object_id, $single);
if ( ! empty($fallbackImageId)) {
return $fallbackImageId;
}
}
return $val;
}
return $null;
}
public function getPostFallbackImageId($postId, $single)
{
$terms = get_the_terms($postId, $this->taxonomy);
if (empty($terms) || is_wp_error($terms)) {
return null;
}
foreach ($terms as $term) {
$fallbackIdFromCategoryId = get_term_meta($term->term_id, $this->fieldId, $single);
if ( ! empty($fallbackIdFromCategoryId)) {
return $fallbackIdFromCategoryId;
}
}
return null;
}
public function inlineScript()
{
return "jQuery(document).ready(function ($) {
var custom_uploader;
$('#upload_image_button').click(function (e) {
e.preventDefault();
//If the uploader object has already been created, reopen the dialog
if (custom_uploader) {
custom_uploader.open();
return;
}
//Extend the wp.media object
custom_uploader = wp.media.frames.file_frame = wp.media({
title: 'Choose Image',
button: {
text: 'Choose Image'
},
multiple: true
});
//When a file is selected, grab the URL and set it as the text field's value
custom_uploader.on('select', function () {
console.log(custom_uploader.state().get('selection').toJSON());
attachment = custom_uploader.state().get('selection').first().toJSON();
var thumbUrl = attachment && attachment.sizes && attachment.sizes.thumbnail && attachment.sizes.thumbnail.url
? attachment.sizes.thumbnail.url
: attachment.url;
$('#wpb-category-image-preview').html('<img src=\"'+ thumbUrl +'\">');
$('#upload_image').val(attachment.id);
});
//Open the uploader dialog
custom_uploader.open();
});
});";
}
}
จากนั้น คุณสามารถเลื่อนลงไปที่ส่วน "การแทรก" และเลือก "การแทรกอัตโนมัติ" เพื่อให้ตำแหน่งการจัดการปลั๊กอินสำหรับคุณ
จากนั้นเลือกตัวเลือก "แทรกก่อนเนื้อหา" ใต้ส่วน "เพจ โพสต์ ประเภทโพสต์ที่กำหนดเอง" ในเมนูแบบเลื่อนลง "ตำแหน่ง"
จากนั้นคุณสามารถกลับไปที่ด้านบนของหน้าและสลับสลับจาก 'ไม่ใช้งาน' เป็น 'ใช้งานอยู่'
เมื่อคุณคลิกปุ่ม "บันทึกตัวอย่างข้อมูล" ที่ด้านบน รูปภาพสำรองของคุณจะอยู่ในตำแหน่งนั้น
คุณอาจต้องการดูคำแนะนำของเราเกี่ยวกับวิธีเพิ่มข้อมูลโค้ดที่กำหนดเองใน WordPress
หมายเหตุ: ข้อมูลโค้ดนี้จะใช้ได้กับอนุกรมวิธาน "หมวดหมู่" เท่านั้น อย่างไรก็ตาม คุณสามารถเพิ่มอนุกรมวิธานได้โดยการเพิ่มชื่อลงในรายการในคลาสต่อไปนี้ในโค้ด และเปลี่ยนคำในวงเล็บเป็น 'tag' หรือ 'post เป็นต้น
protected static $taxonomies = ['category'];
เมื่อเสร็จแล้ว เพียงไปที่เว็บไซต์ของคุณเพื่อดูรูปภาพสำรอง
เราหวังว่าบทความนี้จะช่วยคุณเพิ่มรูปภาพเด่นทางเลือกตามหมวดหมู่โพสต์ คุณสามารถดูคำแนะนำของเราเกี่ยวกับค่าใช้จ่ายในการสร้างเว็บไซต์และบริการการตลาดผ่านอีเมลที่ดีที่สุดสำหรับธุรกิจขนาดเล็กได้
หากคุณชอบบทความนี้ โปรดติดตามวิดีโอบทแนะนำช่อง YouTube สำหรับ WordPress ของเรา คุณยังพบกับเราได้บน Twitter และ Facebook