mehrdad_k 25 ارسال شده در 25 آبان گزارش بازنشر ارسال شده در 25 آبان (ویرایش شده) سلام من میخوام به ستون اختصاصی که اضافه کردم امکان سرت رو اضافه کنم که بشه مثل تاریخ و ... که روش میزنیم سرت میکنه سرت کنم 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); و سوال دیگه در کد بالا فقط برای یک پست تایپ من دارم استفاده میکنم. اگه بخوام چند پست تایپ بشه چطور استفاده کنم ؟ ویرایش شده 25 آبان توسط mehrdad_k نقل قول لینک به ارسال
mehrdad_k 25 ارسال شده در 27 آبان مالک گزارش بازنشر ارسال شده در 27 آبان دوستاان کسی نیست که بتونه کمک کنه ؟ نقل قول لینک به ارسال
yazdaniwp 1,111 ارسال شده در 27 آبان گزارش بازنشر ارسال شده در 27 آبان در در ۱۳۹۹/۸/۲۵ در 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 25 ارسال شده در 28 آبان مالک گزارش بازنشر ارسال شده در 28 آبان در 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 1,111 ارسال شده در 29 آبان گزارش بازنشر ارسال شده در 29 آبان در در ۱۳۹۹/۸/۲۸ در 09:22، mehrdad_k گفته است : ممنون دوست عزیز. کد مربوط به سرت کار نکرد. خواهش میکنم. اسم ستون رو بررسی کنید. احتمالا اون رو درست ننوشتم. 1 1 نقل قول لینک به ارسال
mehrdad_k 25 ارسال شده در 4 آذر مالک گزارش بازنشر ارسال شده در 4 آذر در در ۱۳۹۹/۸/۲۹ در 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'); } } نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .