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

مدیریت وب سایت با افزونه Admin Columns در وردپرس

در مدیریت وردپرس اطلاعات در مورد صفحات، پست ها، کاربران و نظرات به شما نشان داده نمی شود..افزونه هایی مانند Advance Custome Fields و WooCommerce introduce custom fields، محتویات خاصی از جمله نوشته ها، قیمت ها، تصاویر، زیرنویس ها و … را ذخیره می کنند..ما با ارائه برخی از کد های سفارشی سازی ستون های مدیریت که به راحتی اجرا می شوند، به حل این مشکل می پردازیم..برای کسانی که مایل به کدنویسی نیستند هم نحوه پیکربندی افزونه Admin Columns در وردپرس را برای انجام این کار به شما نشان می دهیم.

همچنین یاد خواهید گرفت که چگونه :

  • اضافه کردن ستون های جدید به گزارش پست ها
  • پست های خود را با این ستون ها مرتب کنید
  • یک فرم فیلتر برای پیدا کردن مطالب خود ایجاد کنید
  • از ستون های Admin برای ویرایش محتوای خود در برنامه استفاده کنید..

موارد استفاده انگیزشی

تصور کنید که شما مسئولیت ساخت یا مدیریت یک وبسایت را دارید که دارای یک نمونه کارگزاری املاک است..در وب سایت، تصاویر، آدرس های خانه، مکان ها، تعداد اتاق ها و سایر ویژگی ها را نمایش می دهید..در صفحه مدیریت، نمونه کارها، اضافه کردن، حذف و ویرایش املاک موجود است..در ستون های وردپرس به طور پیش فرض (عنوان، نویسنده، تاریخ انتشار، تعداد نظرات) برای وب سایت املاک نشان داده می شود.

بیایید به یک صفحه نمایش استاندارد مرورگر مدیریت برای انواع پست های سفارشی نگاه کنیم:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

نمایش استاندارد مرورگر مدیریت برای انواع پست های سفارشی

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

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

پیدا کردن اعتبار و ویرایش محتوا بسیار آسان تر است

همانطور که می بینید، این به ما اطلاعات زیادی از نمونه کارهای املاک می دهد. در حال حاضر پیدا کردن اعتبار و ویرایش محتوا بسیار آسان تر است.

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

مدیریت ستون ها برای نمایش مدیران:

اضافه کردن ستون هایی که محتوای خاص شما هستند، حذف ستون هایی که منسوخ شده اند و ستون های مرتب سازی مجدد. برای این هدف، وردپرس API Columns را ارائه می دهد. همچنین برای کاربران و طبقه بندی ها نیز در دسترس است، اما ما روی صفحه پست ها تمرکز می کنیم.

 

تغییر ستون های موجود را می توان با استفاده از دو قلاب وردپرس انجام داد:

manage_[post_type]_posts_columns ، اجازه می دهد تا شما را به حذف، مرتب سازی و اضافه کردن ستون ها، و manage_[post_type]_posts_custom_column در مکانی از [post_type] ، نوع پست مورد نظر خود را وارد کنید..برای مثال برای ترتیب صفحات، از manage_page_posts_columns و manage_page_posts_custom_column استفاده کنید.

کجا باید کدها را قرار دهیم؟

برای اضافه کردن همه این ویژگی های سفارشی، ما باید یک مکان برای اجرای کد داشته باشیم..بهتر است در یک افزونه انجام شود. برای مثال، در این آموزش، ما یک پلاگین سفارشی برای اجرای همه این کدها در اختیارتان قرار می دهیم.

تکمیل، حذف و تغییر سطوح

اولین هوک برای مدیریت ستون (manage_posts_columns) یک فیلتر است که آرایه ستون را مدیریت می کند..آرایه استاندارد فیلترها برای گزارش پست ها این است:

ما قصد داریم چند ستون را از این لیست حذف کنیم و تعدادی را اضافه کنیم:

برای انجام این کار، یک callback به فیلتر manager_posts_columns اضافه می کنیم و ستون های سفارشی ما را به آرایه ستون اضافه می کنیم..توجه داشته باشید که ما از قلاب عملیاتی admin_realestate_posts_columns استفاده می کنیم..در اینجا، realestate نوع پست ما است، به عنوان اولین عملکرد register_post_type برای ثبت انواع پست های سفارشی است..ما از آن در جای [post_type] از فیلتر manage_[post_type]_posts_columns استفاده می کنیم.

خط اول عمل تابع smashing_filter_posts_columns را به عنوان callback برای فیلتر انجام می دهد که ستون های نمایش داده شده را مدیریت می کند..خط دوم عملکرد تابع فراخوانی را تعریف می کند..خطوط 2 تا 4 ستون ها را به صورت سفارشی به لیست ستون ها اضافه می کنیم.و در نهایت، خط 6 لیست ستون های حاصل شده را نشان می دهد.

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

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

ستون هایی برای نمایش یک تصویر، قیمت و منطقه اضافه کرده ایم

ما باید دو مورد را انجام دهیم :

  • ستون های “نویسنده”، “تاریخ” و “نظرات” را حذف کنید، که مربوط به محتوای املاک ما نیستند.
  • ستون ها را ترتیب دهید تا “تصویر” اول نمایش داده شود.

صفحه نمایش جدید املاک ما شروع به شکل گرفته است: ستون های نامناسب حذف شده اند و موارد جدید در موقعیت های مناسب اضافه شده اند.

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

موارد جدید در موقعیت های مناسب اضافه شده اند

ستون جمعیت

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

با اضافه کردن ستون «تصویر» شروع کنید.

 

ما یک عملکرد Callback با smashing_realestate_column، به ‘manage_realestate_posts_custom_column‘ اضافه کردیم، با دو پارامتر:

  • نام ستون
  • شناسه پست.

توسط پارامتر چهارم، add_action نشان داده شده است: تعداد استدلال هایی که انتظار می رود از طریق عملکرد callback مشخص می شود..پارامتر سوم، که اولویت هوک نامیده می شود، تعیین می کند که کدام عملکردهای فراخوان ثبت شده به قلاب باید اجرا شود..آن به طور پیش فرض، 10 است. این تابع یک ستون “تصویر” ایجاد می کند.

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

“قیمت” و “منطقه”، به ترتیب به عنوان فیلد های سفارشی ذخیره می شوند

دو ستون باقی مانده، “قیمت” و “منطقه”، به ترتیب به عنوان فیلد های سفارشی ذخیره می شوند. وقتی قیمت یا منطقه در دسترس نیست، “n/a” را نشان می دهد. اجرای هر دو ستون بسیار مشابه است.

بعد ستون منطقه است. بجز واحد (m2، به جای دلار)، کد تقریبا یکسان است:

نمای کلی صفحه املاک در حال حاضر شامل تمام اطلاعات مرتبط است که می خواهیم نمایش داده شود:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

برخی از قابلیت های مرتب سازی را به ستون ها اضافه کنیم

اجازه دهید برخی از قابلیت های مرتب سازی را به ستون ها اضافه کنیم!

 

پیشنهاد ویژه استورینا 

فروشگاه استورینا، با در اختیار گذاشتن قالب های فروشگاهی متعدد، راه را برای افرادی که قصد راه اندازی یک کسب و کار اینترنتی دارند هموار کرده است.

قالب ها در دسته بندی های مختلفی چون: فروشگاهی، املاکی، خبری، تفریحی و.. قرار میگیرند.

ولی پیشنهاد ما به شما قالب فروشگاهی نیوکالا است. از ویژگی های فوق العاده این قالب میتوان به:

ساختن ستون با قابلیت مرتب شدن

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

ما با افزودن ستون “قیمت” به لیست ستون های قابل مرتب شدن شروع می کنیم:

کد manage_edit-realestate_sortable_columns و smashing_realestate_sortable_columns را به عنوان یک تابع فراخوانی اضافه می شود. ستون “قیمت” به لیست ستون های قابل مرتب شدن در خط 3، اضافه کنید. توجه داشته باشید که کلید آرایه قیمت، نامی است که ما قبلا به ستون داده ایم. مقدار آرایه برای وردپرس استفاده می شود که باید مرتب سازی شود

می خواهیم مرتب سازی بر اساس یک فیلد سفارشی را انجام دهیم:

نیاز است تا یک تابع دیگر را ایجاد کنیم که اگر بخواهیم بر اساس قیمت مرتب سازی کنیم، باید Queryهای پست را تغییر دهیم..ما قصد داریم از عمل pre_get_posts استفاده کنیم. این به ما اجازه می دهد که شیء WP_Query (شی که WordPress برای پست Query استفاده می کند) را تغییر دهد.

کدهای مرتب سازی فیلدها

خطوط 1 و 2 تابع فراخوانی را اضافه می کنند و به ترتیب تعریف تابع را شروع می کنند. خط 3 سپس بررسی می کند که ما در پنل مدیریت هستیم و آیا Query اصلی است. اگر نه، ما پرس و جو را تغییر نمی دهیم. سپس، بررسی می کنیم که آیا مرتب سازی فعلی با قیمت است. اگر اینطور نباشد، Query را مطابق با آن تنظیم می کنیم: مقدار meta_key را برای price_per_month تنظیم می کنیم، به WordPress می گوییم که این فیلد سفارشی را برای همه املاک بازیابی کنیم، و ما کلید orderwith و meta_value را قرار می دهیم، که به WordPress می گویند بر اساس ارزش متا مشخص شده است در نهایت، به صورت عددی مرتب می کنیم، زیرا “قیمت” ستون عددی است.

توجه داشته باشید:

ممکن است متوجه شده باشید که فیلتر ما را با نام manage_edit-realestate_sortable_columns نامگذاری می کند، در حالی که ممکن است انتظار داشته باشید مدیریت آن را با نام manage_realestate_sortable_columns (بدون ویرایش کنید) قرار دهد. این یک عدم تطابق در نامگذاری فیلترها در وردپرس است.

نتیجه یک ستون با قابلیت مرتب شدن قیمت را مشاهده می کنید:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

نتیجه یک ستون با قابلیت مرتب شدن قیمت را مشاهده می کنید

همان روش را می توان برای ستون “area” تکرار کرد. برای ستون های متنی، که باید بر اساس حروف الفبا مرتب شوند، بخش

(‘query->set( ‘meta_type’, ‘numeric$

را پاک کنید.

مدیریت ستون ها با پلاگین Admin Columns

با استفاده از افزونه Admin Columns بدون تغییر  کدها و با استفاده از drag and drop، شما می توانید ستون را تنها با چند کلیک مدیریت کنید. بیش از 150 نوع ستون با زمینه های اختیاری وجود دارد که به شما اجازه سفارشی کردن نام و رفتار یک ستون را می دهد. ما به شما نشان خواهیم داد که چگونه می توانید محتوا را مستقیما از صفحه نمایش مرورگر محتوای فیلتر و ویرایش کنید.

ابتدا ستون های مدیریتی را به عنوان پلاگین نصب و فعال کنید.

رفتن به صفحه “تنظیمات ستون”شروع به مدیریت کنید:

ستون های مدیریتی به شما اجازه می دهد که ستون ها را با هر نوع محتوا (مثلا پست ها، صفحات، کاربران یا نظرات) با استفاده از اسلایدر برجسته شده در تصویر بالا کنترل کنید. ما، پست “املاک و مستغلات” را انتخاب کردیم. در صفحه نمایش، ستون هایی که در حال حاضر برای این نوع پست فعال هستند را مشاهده خواهید کرد.

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

ستون هایی که در حال حاضر برای این نوع پست فعال هستند را مشاهده خواهید کرد

 

تکمیل، حذف و تغییر سطوح

بیایید تعدادی از ستون هایی که برای املاک نیاز نداریم را پاک کنیم:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

تعدادی از ستون هایی که برای املاک نیاز نداریم را پاک کنیم:

ما با اضافه کردن اولین ستون مربوطه خود ادامه خواهیم داد: تصویر برجسته که تصویری از املاک را نشان می دهد. برای انجام این کار، به سادگی با کلیک بر روی دکمه “اضافه کردن ستون”، نوع ستون “Featured Image” را از منوی کشویی انتخاب کنید و تنظیمات مناسب را وارد کنید:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

نوع ستون “Featured Image” را از منوی کشویی انتخاب کنید

ستون های مدیریتی گزینه هایی برای ستون های شما را نشان می دهد.تا ظاهر آن ها را کاملا کنترل کنید..

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

ستون های مدیریتی به شما امکان می دهد که به سادگی با کشیدن آنها در کنار ستون ها مرتب کنید..صفحه نمایش املاک ما اکنون به این شکل است:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

صفحه نمایش املاک ما اکنون به این شکل است

ما می توانیم دو ستون برای نمایش منطقه زندگی و اجاره ماهانه اضافه کنیم..از آنجا که ما این فیلد های سفارشی را با استفاده از افزونه های پیشرفته سفارشی فیلدهای اضافه کرده ایم،.ما از افزونه ادغام ACF برای این کار استفاده می کنیم..با این حال، ستون “سفارشی فیلد” نیز برای این منظور کافی بود.

عکس زیر روند اضافه کردن ستون های “منطقه” و “قیمت” را نشان می دهد:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

روند اضافه کردن ستون های “منطقه” و “قیمت” را نشان می دهد

ستون های Admin افزونه های ادغام افزونه ها را برای چند پلاگین دیگر از جمله WooCommerce، Ninja Forms و Yoast SEO ارائه می دهد.

کمی پیچیده است که با کد انجام دهید، اما با ستون های Admin راحت است..ما به سادگی ستون “Taxonomy” را انتخاب می کنیم و طبقه بندی “City” را انتخاب می کنیم!

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

ستون “Taxonomy” را انتخاب می کنیم و طبقه بندی “City” را انتخاب می کنیم

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

اکثر آنچه تا کنون دیده اید بخشی از نسخه رایگان ستون های مدیریتی است که می تواند از WordPress.org دانلود شود..با این وجود، Admin Columns Pro نیز وجود دارد که ویژگی های اضافی را ارائه می دهد.

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

مرتب سازی محتوای شما را در یک سفارش خاص بر اساس مقدار یک ستون نمایش می دهد.

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

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

بیایید نمونه ساده ای را در نظر بگیریم: ما می خواهیم خانه های بزرگ مناطق را بیابیم..این فقط چند ثانیه طول می کشد، زیرا ما می توانیم ستون “Area” را مرتب سازیم:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

می توانیم ستون “Area” را مرتب سازیم

ما می خواهیم 10 خانه با بزرگترین سطح را پیدا کنیم، اما فقط آن هایی که قیمت اجاره ماهانه بین 300 تا 500 دلار هستند. فقط چند کلیک کافی است:

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

بسیاری روش برای مرتب سازی و فیلتر کردن وجود دارد

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

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

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

با Admin Columns Pro می توانیم همان فرآیند را فقط در سه مرحله ساده انجام دهیم:

  • کلیک
  • ویرایش
  • ذخیره.
افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

حالت “ویرایش مستقیم” را برای عنوان املاک نشان می دهد

تصویر بالا حالت “ویرایش مستقیم” را برای عنوان املاک نشان می دهد.و برای تقریبا تمام ستون های سفارشی در دسترس است. در Admin Columns Pro، ویرایش درون متن می تواند از صفحه تنظیمات ستون تغییر کند..این به طور خودکار محتوا را تشخیص می دهد.و به این ترتیب قابلیت editability را اضافه می کند.

در این مثال، ما از Advanced Custom Fields برای Column Admin ها استفاده کردیم که با تمام مجوزهای کسب و کار و توسعه دهنده همراه است..آن ها به صورت خودکار قابل مرتب شدن، فیلتر کردن و قابل ویرایش هستند.و فقط آیکون مربوطه را تغییر دهید.

نتیجه گیری نهایی :

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

افزونه Admin Columns در وردپرس | سفارشی سازی ستون های مدیریت

با کلیک کردن، ویرایش و ذخیره می توانیم محتواها را به روز کنیم

تغییرات بلافاصله ذخیره می شوند. اگر چیزی اشتباه باشد، دکمه های لغو و بازنشانی برای بازگشت سریع در دسترس هستند.

ویرایش مستقیم تقریبا برای تمام ستون ها پشتیبانی می شود..با استفاده از Advanced Custom Fields و Add-ons WooCommerce، ستون های Admin به شما یک تجربه ویرایش بومی را نشان می دهد،.همانطور که از صفحه جزئیات ویرایش می کنید.

ارسال نظر