Alisitema گفت:
سلام. چجوری میشه کاری کرد هر پست که ارسال میکنیم بر حسب حرف اول تیتر پست، فهرست الفبایی بشه؟ و لینک این حروف الفبا در یک صفحه یا ستون کنار صفحه قرار بگیره
مثلا شماپستی جهت معرفی معنی کلمه درخت دارید. پستی با عنوان کتاب دارید. بعد روی حرف ک بزنید همه پستهای ک از جمله کتاب بیاد.
به روش های مختلف میتوانید این کار را انجام دهید .
مثلا یک سیستم بنویسید که با الگوریتم های مثل هوش مصنوعی تشخیص دهد اول کتاب الف هست و بعد آرشیو بندی کند .
اما ساده ترین و راحت ترین الگوریتم که خودتان بتوانید انجام بدید ، ایجاد یک تاکسونومی هست ،
// Register Taxonomy
add_action( 'init', 'create_alefba_tax' );
function create_alefba_tax() {
register_taxonomy(
'alefba',
'POST_TYPE',
array(
'label' => __( 'آرشیو الفبا' ),
'rewrite' => array( 'slug' => 'alefba' ),
'show_tagcloud' => true,
)
);
}
بجای POST_TYPE در کدهای بالا ، پست تایپ مد نظرتان وارد کنید .
مثلا نام پست تایپ پیشفرض برای نوشته ها post یا برای برگه ها page می باشد .
بعد زمانی که پست مد نظر را انتشار میدید میتوانید نام اول حرف الفبای آن را وارد کنید ، مثلا الف .
بعد بصورت زیر قابل نمایش خواهد بود :
http://your-domain.ir/alefba/الف/
و برای سورت بر اساس حروف الفبا در این فیلتر میتوانید یک کوئری بصورت زیر اضافه کنید :
add_action( 'pre_get_posts', 'my_change_sort_order');
function my_change_sort_order($query){
if(is_tax( 'alefba' )):
//Set the order ASC or DESC
$query->set( 'order', 'ASC' );
//Set the orderby
$query->set( 'orderby', 'title' );
endif;
}
موفق باشید .