انجمن

  • Alisitema

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۵ سال پیش
    ۳۰ فروردین ۱۳۹۸ - ۲۰:۴۹

    سلام. چجوری میشه کاری کرد هر پست که ارسال میکنیم بر حسب حرف اول تیتر پست، فهرست الفبایی بشه؟ و لینک این حروف الفبا در یک صفحه یا ستون کنار صفحه قرار بگیره
    مثلا شماپستی جهت معرفی معنی کلمه درخت دارید. پستی با عنوان کتاب دارید. بعد روی حرف ک بزنید همه پستهای ک از جمله کتاب بیاد.

  • Alisitema

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۵ سال پیش
    ۱ اردیبهشت ۱۳۹۸ - ۱۴:۴۷

    Az index
    خیلی خوبه. فارسی هم ساپورت میکنه. اما مشکلش اینه که نمیشه در ستون منوی کنار صفحه هم یک فهرست الفبا گذاشت.

  • kamalireal

    آفلاین
    استاد
    تعداد نوشته‌ها: ۲۵۶
    تشکر شده: ۹۹ بار
    # نوشته شده: ۵ سال پیش
    ۴ اردیبهشت ۱۳۹۸ - ۱۱:۴۱

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

    موفق باشید .

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    ostadezaban
  • maryam55465

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱
    # نوشته شده: ۵ سال پیش
    ۲۴ تیر ۱۳۹۸ - ۱۷:۰۰

    ممنون از راهنماییتون

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.