افزودن تصویر به دستهبندی وردپرس
افزودن تصویر به دستهبندی وردپرس
افزودن فیلد تصویر به دستهبندیها از کتابخانه رسانههای وردپرس
در وردپرس، برای افزودن تصویر به یک دستهبندی، شما نیاز به استفاده از تابعها و قطعهکدهایی دارید که به طور مستقیم به دسترسی به بانک اطلاعاتی وردپرس میپردازند.
در وردپرس، دستهبندیها به صورت پیشفرض قابلیت اضافه کردن تصویر ندارند. اما شما میتوانید با استفاده از افزونهها یا کد نصی، این امکان را به دستهبندیها اضافه کنید. یکی از افزونههایی که میتوانید برای این کار استفاده کنید، افزونه “Category Featured Images” است. این افزونه به شما امکان میدهد تا به هر دستهبندی تصویر شاخص اختصاص دهید.
به منظور اضافه کردن فیلد تصویر به دستهبندیها در وردپرس، میتوانید از کد زیر به فایل functions.php
قالب خود اضافه کنید. این کد از فیلد تصویر برای هر دستهبندی استفاده میکند و شما میتوانید با استفاده از این تصویر در قالبها و صفحات خود استفاده کنید
// اضافه کردن فیلد تصویر به دستهبندی در فرم ایجاد
function add_category_image_field() {
?>
<div class="form-field">
<label for="category-image">تصویر دسته بندی</label>
<input type="hidden" id="category-image" class="category-image" name="category_image" value="">
<div class="category-image-preview"></div>
<button class="category-image-upload button">بارگذاری تصویر</button>
</div>
<script>
jQuery(document).ready(function($) {
// تعیین تصویر انتخاب شده به فیلد مخفی
$('.category-image-upload').click(function(e) {
e.preventDefault();
var imageUploader = wp.media({
title: 'انتخاب تصویز',
button: { text: 'انتخاب تصویز' },
multiple: false
}).on('select', function() {
var attachment = imageUploader.state().get('selection').first().toJSON();
$('.category-image').val(attachment.url);
$('.category-image-preview').html('<img src="' + attachment.url + '" style="max-width:100px;"/>');
}).open();
});
});
</script>
<?php
}
add_action('category_add_form_fields', 'add_category_image_field', 10, 2);
// اضافه کردن فیلد تصویر به دستهبندی در فرم ویرایش
function edit_category_image_field($term) {
$category_image = get_term_meta($term->term_id, 'category_image', true);
?>
<tr class="form-field">
<th scope="row" valign="top">
<label for="category-image">تصویر دسته بندی</label>
</th>
<td>
<input type="hidden" id="category-image" class="category-image" name="category_image" value="<?php echo esc_attr($category_image); ?>">
<div class="category-image-preview">
<?php if (!empty($category_image)) : ?>
<img src="<?php echo esc_url($category_image); ?>" style="max-width:100px;">
<?php endif; ?>
</div>
<button class="category-image-upload button">بارگذاری تصویر</button>
</td>
</tr>
<script>
jQuery(document).ready(function($) {
// تعیین تصویر انتخاب شده به فیلد مخفی
$('.category-image-upload').click(function(e) {
e.preventDefault();
var imageUploader = wp.media({
title: 'انتخاب تصویز',
button: { text: 'انتخاب تصویز' },
multiple: false
}).on('select', function() {
var attachment = imageUploader.state().get('selection').first().toJSON();
$('.category-image').val(attachment.url);
$('.category-image-preview').html('<img src="' + attachment.url + '" style="max-width:100px;"/>');
}).open();
});
});
</script>
<?php
}
add_action('category_edit_form_fields', 'edit_category_image_field', 10, 2);
// ذخیره تصویر در دستهبندی
function save_category_image_field($term_id) {
if (isset($_POST['category_image'])) {
$category_image = sanitize_text_field($_POST['category_image']);
update_term_meta($term_id, 'category_image', $category_image);
}
}
add_action('edited_category', 'save_category_image_field', 10, 2);
add_action('create_category', 'save_category_image_field', 10, 2);
?>
افزودن تصویر به دستهبندی وردپرس
برای نمایش تصویر مرتبط با یک دستهبندی در وردپرس، میتوانید از تابع get_term_meta
برای دریافت آدرس تصویر و سپس از تگ <img>
در قالبها یا پستهای خود برای نمایش تصویر استفاده کنید. در اینجا نحوه استفاده از تصویر دستهبندی در قالب وردپرس آورده شده است
<?php
// دریافت آدرس تصویر مرتبط با دستهبندی
$category_image = get_term_meta(get_queried_object_id(), 'category_image', true);
if (!empty($category_image)) {
echo '<img src="' . esc_url($category_image) . '" alt="" />';
}
?>
در این مثال، ما ابتدا آدرس تصویر مرتبط با دستهبندی فعلی را با استفاده از تابع get_term_meta
دریافت میکنیم. سپس با استفاده از تگ <img>
تصویر را نمایش میدهیم.
این کد را میتوانید در قالبهای خود، مثلاً در فایل category.php
برای نمایش تصویر در صفحه دستهبندیها یا در محلهای دیگر مورد نیاز استفاده کنید. با این روش، میتوانید تصاویر شاخص و معرفی برای هر دستهبندی خود را به تصویر کشیده و در صفحات مرتبط با دستهبندیها نمایش دهید