mehrdad_k 26 ارسال شده در آبان 99 گزارش بازنشر ارسال شده در آبان 99 (ویرایش شده) سلام من میخوام به ستون اختصاصی که اضافه کردم امکان سرت رو اضافه کنم که بشه مثل تاریخ و ... که روش میزنیم سرت میکنه سرت کنم add_filter('manage_articles_posts_columns', function ( $columns ) { if( is_array( $columns ) && ! isset( $columns['post_views'] ) ) $columns['post_views'] = __( 'بازدید' ); if(current_user_can('administrator')) return $columns; }, ); add_action( 'manage_articles_posts_custom_column', function ( $column_name, $post_id ) { if ( $column_name == 'post_views') { $post_view_count = get_post_meta($post_id, 'views', true); $count = $post_view_count ? $post_view_count : 0; if(current_user_can('administrator')) echo $count; } }, 10, 2); و سوال دیگه در کد بالا فقط برای یک پست تایپ من دارم استفاده میکنم. اگه بخوام چند پست تایپ بشه چطور استفاده کنم ؟ ویرایش شده آبان 99 توسط mehrdad_k نقل قول لینک به ارسال
mehrdad_k 26 ارسال شده در آبان 99 مالک گزارش بازنشر ارسال شده در آبان 99 دوستاان کسی نیست که بتونه کمک کنه ؟ نقل قول لینک به ارسال
yazdaniwp 1187 ارسال شده در آبان 99 گزارش بازنشر ارسال شده در آبان 99 در در ۱۳۹۹/۸/۲۵ در 14:05، mehrdad_k گفته است : سلام من میخوام به ستون اختصاصی که اضافه کردم امکان سرت رو اضافه کنم که بشه مثل تاریخ و ... که روش میزنیم سرت میکنه سرت کنم add_filter('manage_articles_posts_columns', function ( $columns ) { if( is_array( $columns ) && ! isset( $columns['post_views'] ) ) $columns['post_views'] = __( 'بازدید' ); if(current_user_can('administrator')) return $columns; }, ); add_action( 'manage_articles_posts_custom_column', function ( $column_name, $post_id ) { if ( $column_name == 'post_views') { $post_view_count = get_post_meta($post_id, 'views', true); $count = $post_view_count ? $post_view_count : 0; if(current_user_can('administrator')) echo $count; } }, 10, 2); و سوال دیگه در کد بالا فقط برای یک پست تایپ من دارم استفاده میکنم. اگه بخوام چند پست تایپ بشه چطور استفاده کنم ؟ سلام. باید از دستور زیر استفاده کنید: add_filter( 'manage_edit-articles_sortable_columns', 'ywp_articles_sortable_column' ); function ywp_articles_sortable_column( $columns ) { $columns['page_views'] = 'views'; return $columns; } در در ۱۳۹۹/۸/۲۵ در 14:05، mehrdad_k گفته است : در کد بالا فقط برای یک پست تایپ من دارم استفاده میکنم. اگه بخوام چند پست تایپ بشه چطور استفاده کنم ؟ باید یه آرایه از پست تایپها رو بجای یه آیتم با یه حلقه اجرا کنید. کد فانکشن ها رو داخل فانکشنهای زیر بذارید برای پست تایپهایی که داخل آرایه هست ستونها اضافه میشن: <?php $post_types = array( 'post', 'page', 'articles', 'another_cpt' ); foreach( $post_types as $post_type ) { add_filter( 'manage_edit-' . $post_type . '_columns', 'ywp_extra_columns' ); add_action( 'manage_' . $post_type . '_posts_custom_column', 'ywp_columns_content', 10, 2 ); add_filter( 'manage_edit-' . $post_type . '_sortable_columns', 'ywp_sortable_column' ); } function ywp_extra_columns( $columns ) { // Your code comes here... return $columns; } function ywp_columns_content( $column_name, $post_id ) { // Your code comes here... } function ywp_sortable_column( $columns ) { // Your code comes here... return $columns; } 2 1 نقل قول لینک به ارسال
mehrdad_k 26 ارسال شده در آبان 99 مالک گزارش بازنشر ارسال شده در آبان 99 در 12 ساعت قبل، yazdaniwp گفته است : سلام. باید از دستور زیر استفاده کنید: add_filter( 'manage_edit-articles_sortable_columns', 'ywp_articles_sortable_column' ); function ywp_articles_sortable_column( $columns ) { $columns['page_views'] = 'views'; return $columns; } ممنون دوست عزیز. کد مربوط به سرت کار نکرد. نقل قول لینک به ارسال
yazdaniwp 1187 ارسال شده در آبان 99 گزارش بازنشر ارسال شده در آبان 99 در در ۱۳۹۹/۸/۲۸ در 09:22، mehrdad_k گفته است : ممنون دوست عزیز. کد مربوط به سرت کار نکرد. خواهش میکنم. اسم ستون رو بررسی کنید. احتمالا اون رو درست ننوشتم. 1 1 نقل قول لینک به ارسال
mehrdad_k 26 ارسال شده در آذر 99 مالک گزارش بازنشر ارسال شده در آذر 99 در در ۱۳۹۹/۸/۲۹ در 16:29، yazdaniwp گفته است : خواهش میکنم. اسم ستون رو بررسی کنید. احتمالا اون رو درست ننوشتم. بله کاملا درسته من دقت نکرده بودم البته من بر اساس meta value میخواستم سرت کنم که از کد زیر استفاده کردم : add_action( 'pre_get_posts', 'event_column_orderby' ); function event_column_orderby( $query ) { if( ! is_admin() ) return; $orderby = $query->get( 'orderby'); if( 'views' == $orderby ) { $query->set('meta_key','views'); $query->set('orderby','meta_value_num'); } } نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .