PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اضافه کردن یک ستون دلخواه به جدول کاربران در وردپرس



user-tat
November 15th, 2014, 01:30
اضافه کردن یک ستون دلخواه به جدول کاربران در وردپرس (http://webatd.com/adding-a-custom-column-to-the-users-table-in-wordpress.html) در این بخش از مقاله اموزش چگونگی ایجاد ستون دلخواه به جدول کاربران وردپرس را توضیح میدهیم و در این مثال با اضافه کردن یک فیلد سفارشی در بخش یوزر میتوانیم تمام وضعیت های ارسالی کاربران عضو را در یک نگاه به نمایش در بیاوریم.

http://webatd.com/wp-content/uploads/2014/11/Adding-a-Custom-Column-to-the-Users-Table-in-WordPress.png (http://webatd.com/wp-admin/media-upload.php?post_id=1011&type=image&TB_iframe=1)

اضافه کردن یک ستون دلخواه به جدول کاربران در وردپرس

برای ایجاد چنین بخشی شاید پلاگین هایی باشند که کار شما را آسان تر کنند ولی به هر حال با ترفندها و کد های سبک و آسان میشود جای پلاگین را برای ایجاد این بخش گرفت.
جدولی که در این بخش قراره ایجاد بشه اطلاعاتی از قبیل ارسالی های نویسنده در این بخش به نمایش در می آید.
بسیاری از وبمستران ایرانی در حال ایجاد وبسایت های چند نویسنده ای هستند حال بیایید یک شروع خوب داشته باشیم جدول به طور پیشفرض (http://webatd.com/how-to-change-the-default-gravatar-on-wordpress.html)در بخش کاربران کافی نیست و سفارشی تر از حالت پیشفرض کنیم.
کد هایی که در این بخش برای اموزش درج کردیم برای انواع پست (http://webatd.com/count-user-posts-on-a-wordpress-site.html)های سفارش (http://webatd.com/%d8%a2%d9%88%d8%a7%d8%aa%d8%a7%d8%b1-%d8%b3%d9%81%d8%a7%d8%b1%d8%b4%db%8c-%d8%af%d8%b1-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3.html)کار میکنند و وضعیت انها را به نمایش در می اورد.
تصویر زیر بیانگر تمام هدف این مقاله میباشد :


http://webatd.com/wp-content/uploads/2014/11/show-number-post-use-user.png (http://webatd.com/wp-content/uploads/2014/11/show-number-post-use-user.png)

اضافه کردن یک ستون دلخواه به جدول کاربران در وردپرس


در اینجا کد زیر را که شما می توانید به فایل توابع پوسته functions.php اضافه کنید.



add_action(‘manage_users_columns’,’kjl_modif y_user_columns’);function kjl_modify_user_columns($column_headers) { unset($column_headers['posts']); unset($column_headers['role']); $column_headers['num_posts'] = ‘نوشته ها'; return $column_headers;}




توجه داشته باشید که میتوانید عنوان جدول را در خط قرمز کد تغییر دهید .
برای این که بتوانیم عرض ستون را تنظیم کنیم کد استایل را در فایل توابع درج میکنیم.



add_action(‘admin_head’, ‘kjl_custom_admin_css’);function kjl_custom_admin_css() { echo ‘<style> .column-num_posts {width: 8%} </style>';}


در اینجا تابعی را درج میکنیم که با استفاده از این تابع جستجویی در پایگاه داده وردپرس انجام میدهیم و در برگشت این تابع تعداد پست ها بر اساس وضعیت پست , نوع پست , نویسنده و شناسه را به ما میدهد.
کد کوتاه و شیرین را در توابع وردپرس درج کنید :



function kjl_count_user_posts_by_type_and_status( $userid, $post_status, $post_type = “post” ) { global $wpdb; $where = “WHERE post_author = ” . $userid . ” AND post_type = ‘” . $post_type . “‘ AND (post_status = ‘” . $post_status . “‘)”; $count = $wpdb->get_var( “SELECT COUNT(*) FROM $wpdb->posts $where” ); return apply_filters( ‘get_usernumposts’, $count, $userid );}


حال برای پر کردن جدول های سفارشی با داده هایی که از جستجو از طریق تابع در وردپرس انجام دادیم اقدام میکنیم.

و در اخر کد زیر را درفایل توابع وردپرس درج میکنیم :




add_action(‘manage_users_custom_column’, ‘kjl_user_posts_count_column_content’, 10, 3);
function kjl_user_posts_count_column_content($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
if ( ‘num_posts’ == $column_name ) {
$drafts = kjl_count_user_posts_by_type_and_status( $user_id, ‘draft’, ‘post’ );
$published = kjl_count_user_posts_by_type_and_status( $user_id, ‘publish’, ‘post’ );
$pending = kjl_count_user_posts_by_type_and_status( $user_id, ‘pending’, ‘post’ );
$all = $drafts + $published + $pending;
return ‘همه: <a href=”/wp-admin/edit.php?author=’.$user_id.'” target=”_blank”>’.$all.'</a><br/>
یش‌نویس: <a href=”/wp-admin/edit.php?post_status=draft&amp;post_type=post&amp;author= .$user_id.'” target=”_blank”>’.$drafts.'</a><br/>
در حال ارسال: <a href=”/wp-admin/edit.php?post_status=pending&amp;post_type=post&amp;author =’.$user_id.'” target=”_blank”>’.$pending.'</a><br/>
انشتار یافته: <a href=”/wp-admin/edit.php?post_status=publish&amp;post_type=post&amp;author =’.$user_id.'” target=”_blank”>’.$published.'</a>';
}
return $value;
}


امیدورام این مقاله و آموزش مفید واقع شده باشد



منبع اصلی : تات طرح طراحی قالب وردپرس (http://webatd.com)