با عرض سلام و احترام خدمت همراهان همیشگی ما ، در این بخش از آموزش وردپرس قصد داریم شما را با روش هایی برای سفارشی سازی ترتیب بندی پست ها در وردپرس آشنا کنیم. در واقع ممکن است بسیاری از طراحان سایت تمایل داشته باشند، مطالب خود را طبق ترتیب و اصول خاصی برای کابران نمایش دهند. در وردرپرس به صورت پیش فرض پست ها براساس تاریخ انتشار در سایت نشان داده می شوند. یک روش ساده و ابتدایی تغییر تاریخ و زمان پست ها برای عوض کردن ترتیب نمایش پست ها است، اما به طور کلی دو روش برای ترتیب بندی پست ها وجود دارد:

  1. ترتیب بندی با استفاده از کد
  2. ترتیب بندی با استفاده از افزونه

در ادامه همین مطلب این دو روش را به طور کامل توضیح می دهیم.

روش اول :

سفارشی سازی ترتیب نمایش پست ها با استفاده از کد

انجام این کار نیاز به داشتن علم کد نویسی دارد، برای انجام این کار نیاز به افزودن یک فیلد سفارشی به پست ها  خواهیم داشت که بتوانیم با استفاده از آن پست ها را ترتیب بندی کنیم.

برای شروع این کار باید یک افزونه وردپرس ایجاد کنیم، اول یک فولدر در پوشه افزونه های وردپرس بسازید.

ایجاد یک فیلد سفارشی

اولین قدم افزودن یک فیلد سفارشی به backend، ایجاد یک متا باکس و افزودن آن به صفحه ویرایش پست است.

<?php /* Create custom meta data box to the post edit screen */ function jpen_custom_post_sort( $post ){ add_meta_box( ‘custom_post_sort_box’, ‘Position in List of Posts’, ‘jpen_custom_post_order’, ‘post’ , ‘side’ ); } add_action( ‘add_meta_boxes’, ‘jpen_custom_post_sort’ ); ?>

این قطعه کد به فایل افزونه شما اضافه خواهد شد و متا باکس را ایجاد خواهد کرد.

<?php /* Add a field to the metabox */ function jpen_custom_post_order( $post ) { wp_nonce_field( basename( __FILE__ ), ‘jpen_custom_post_order_nonce’ ); $current_pos = get_post_meta( $post->ID, ‘_custom_post_order’, true); ?> <p>Enter the position at which you would like the post to appear. For exampe, post “1” will appear first, post “2” second, and so forth.</p> <p><input type=”number” name=”pos” value=”<?php echo $current_pos; ?>” /></p> <?php } ?>

اکنون متا باکس به این شکل خواهد بود:

 

در آخر، نیاز داریم تا کدی بنویسیم که ورودی را از کاربر گرفته و در دیتابیس ذخیره کند. برای این کار کد زیر را به افزونه اضافه کنید:

<?php
/* Save the input to post_meta_data */

function jpen_save_custom_post_order( $post_id ){
  if ( !isset( $_POST['jpen_custom_post_order_nonce'] ) || !wp_verify_nonce( $_POST['jpen_custom_post_order_nonce'], basename( __FILE__ ) ) ){
    return;
  } 
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){
    return;
  }
  if ( ! current_user_can( 'edit_post', $post_id ) ){
    return;
  }
  if ( isset( $_REQUEST['pos'] ) ) {
    update_post_meta( $post_id, '_custom_post_order', sanitize_text_field( $_POST['pos'] ) );
  }
}
add_action( 'save_post', 'jpen_save_custom_post_order' );
?>

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

روش دوم :

استفاده از افزونه 

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

افزونه وردپرس Post Types Order

post-types-order-bigtheme

افزونه Post Types Order یکی دیگر از افزونه های کاربردی و مفید وردپرس می باشد که برای سفارشی سازی ترتیب نمایش پست ها و رده بندی ها ( گروه ها ) طراحی شده است .کار با این افزونه به دلیل داشتن خاصیت Drag & Drop بسیار سریع و آسان بوده و تنظیمات خاصی ندارد و بلافاصله بعد از نصب فعال می شود .

این افزونه تا کنون بیش از 400000 بار نصب و فعالسازی داشته است، اگر شما یک توسعه دهند هستید میتوانید با استفاده از دانش خود این افزونه را توسعه دهید، این افزونه نمره 4.6 را از 5 به خود اختصاص داده است. این افزونه میتواند پست هایی سفارشی ایجاد کند و آنها را ترتیب بندی کند. برای استفاده از این افزونه وارد صفحه تنظیمات شوید، وارد بخش Settings >Post Types Order شوید سپس میتوانید ترتیب بندی پست های سایت خود را در این صفحه مشخص کنید ، میتوانید با استفاده از کشیدن و رها کردن نیز این کار را انجام دهید.

ویژگی ها

  • قابلیت دسته بندی مطالب در پیشخوان
  • مرتب سازی و نظم دهی به مطالب در پیشخوان وردپرس
  • و…

افزونه وردپرس Order Your Posts Manually

order-your-posts-manually-bigtheme

افزونه وردپرس Order Your Posts Manually یکی دیگر از افزونه های کاربردی وردپرس است که برای سفارشی سازی ترتیب نمایش پست ها و رده بندی ها طراحی شده است . این افزونه تا کنون بیش از 1000 بار نصب و فعالسازی داشته، و نمره 4.6 از 5 را به خود ختصاص داده است، این افزونه پشتیبانی خوبی دارد و به طور منظم در حال آپدیت است و میتوانید در آپدیت های جدید از امکانات بهتر و جدید تر بهره ببرید.

برای استفاده از این افزونه سفارشی سازی ، آن را نصب کنید و سپس آن را فعالسازی کنید، برای این کار کافیست آن را از طریق زیر منو افزودن در بخش افزونه های پیشخوان وردپرس نصب و فعال سازی نمایید ، شما می توانید این کار را با آپلود یا جستجوی نام این افزونه در این صفحه انجام دهید . سپس وارد بخش Settings> Order Your Posts Manually شوید، آپشن ها را پیکربندی کنید و بر روی Order My Posts کلیک کنید. با کلیک کردن بر روی این آیتم باعث میشود که وارد بخش Tools> Order Your Post Manually خواهید شد و لیست جدید پست های شما تولید خواهد شد. همچنین میتوانید با استفاده از قابلیت کشیدن و رها کردن نیز این کار را انجام دهید و سپس بر روی Save changes کلیک کنید تا تغییرات ذخیره شوند.

امیدوارم این مطلب به شما در ایجاد ترتیب بندی برای سایت شما کمک زیادی کرده باشد.

موفق باشید…

If you want to display posts in a specific order you have a few different options. The most flexible option is to build your own plugin and then manually implement the custom sort. However, if developing a custom solution isn’t a possibility, you can get the job done with an easy-to-use plugin from the WordPress directory.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *