افزودن ستونهای سفارشی به جدول مدیریت وردپرس (Custom Admin Columns)
با فیلتر `manage_posts_columns` ستون را تعریف کرده و با اکشن `manage_posts_custom_column` محتوای تصویر شاخص را در آن چاپ کنید.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<?php
/**
* افزودن ستون تصویر شاخص و تعداد بازدید به جدول نوشتههای پیشخوان ادمین
*/
function bisco_add_admin_columns( $columns ) {
$new_columns = array();
foreach ( $columns as $key => $title ) {
$new_columns[ $key ] = $title;
// قرار دادن ستون تصویر دقیقاً بعد از عنوان
if ( 'title' === $key ) {
$new_columns['bisco_thumb'] = 'تصویر شاخص';
$new_columns['bisco_views'] = 'تعداد بازدید';
}
}
return $new_columns;
}
add_filter( 'manage_posts_columns', 'bisco_add_admin_columns' );
// پر کردن دادههای ستونهای سفارشی
function bisco_render_admin_columns( $column, $post_id ) {
if ( 'bisco_thumb' === $column ) {
if ( has_post_thumbnail( $post_id ) ) {
echo get_the_post_thumbnail( $post_id, array( 50, 50 ), array( 'style' => 'border-radius:6px; object-fit:cover;' ) );
} else {
echo '<span style="color:#999;">—</span>';
}
}
if ( 'bisco_views' === $column ) {
$views = (int) get_post_meta( $post_id, 'bisco_post_views_count', true );
echo esc_html( number_format_i18n( $views ) );
}
}
add_action( 'manage_posts_custom_column', 'bisco_render_admin_columns', 10, 2 );
کد را کجا قرار دهیم؟ (Placement Guide)
کد را در functions.php قرار دهید.
این کد چگونه کار میکند؟ (How it Works)
هسته وردپرس در زمان رندر جدول wp-list-table آرایه ستونها را با این فیلتر ترکیب کرده و به ازای هر سطر هوک را فراخوانی میکند.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
برای تمام سایتهای محتوایی و فروشگاهی جهت بازبینی سریع تصاویر و آمار در صفحه مدیریت نوشتهها.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
موردی وجود ندارد؛ یکی از بهترین ابزارهای بهرهوری ادمین است.
پیشنیازهای اجرا
وردپرس ۳.۱ به بالا.
نحوه تست و اطمینان از عملکرد
به منوی «نوشتهها > همه نوشتهها» بروید؛ دو ستون جدید «تصویر شاخص» و «تعداد بازدید» نمایان خواهند شد.
نحوه بازگردانی سریع (Rollback)
کد را حذف کنید.
خطاهای رایج و راهحل رفع
پاسخ ندادن به هوک با echo در اکشن manage_posts_custom_column (در این هوک محتوا باید echo شود نه return).
ملاحظات و نکات امنیتی
اطلاعات با متدهای مناسب پاکسازی میشوند.
تاثیر بر سرعت و پرفورمنس
استفاده از تامبنیل ۵۰ در ۵۰ مانع سنگین شدن صفحه مدیریت میشود.