رفتن به مطلب

امکان سرت و ترتیب در ستون اضافه شده


پست های پیشنهاد شده

سلام

من میخوام به ستون اختصاصی که اضافه کردم امکان سرت رو اضافه کنم که بشه مثل تاریخ و ... که روش میزنیم سرت میکنه سرت کنم

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);

و سوال دیگه

در کد بالا فقط برای یک پست تایپ من دارم استفاده میکنم. اگه بخوام چند پست تایپ بشه چطور استفاده کنم ؟

ویرایش شده توسط mehrdad_k
لینک به ارسال
در در ۱۳۹۹/۸/۲۵ در 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;
}

 

لینک به ارسال

 

در 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;
}

 

 

ممنون دوست عزیز.

کد مربوط به سرت کار نکرد.

 

لینک به ارسال
در در ۱۳۹۹/۸/۲۸ در 09:22، mehrdad_k گفته است :

 

ممنون دوست عزیز.

کد مربوط به سرت کار نکرد.

 

خواهش میکنم. اسم ستون رو بررسی کنید. احتمالا اون رو درست ننوشتم.

لینک به ارسال
در در ۱۳۹۹/۸/۲۹ در 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');  
    }  
} 

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...