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

زمینه های دلخواه وردپرس چیست؟

زمینه های دلخواه وردپرس در واقع Meta-Data هستند که این امکان را برای شما فراهم می کنند تا بتوانید اطلاعات خاصی را در قالب مشخص به نوشته ها و برگه های خود اضافه کنید. این ابزار یکی از قدرتمند ترین ابزار های وردپرس به شمار می رود. زمینه های دلخواه وردپرس دارای 2 فیلد “نام” و “مقدار” است که شما در بخش نام، نام ویژگی و در بخش مقدار، مقدار ویژگی را وارد می کنید. نام ویژگی در پایگاه داده ذخیره می شود م مقدار ویژگی به عنوان مقدار پیشفرض قرار میگیرد.

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

به صورت شکل زیر:

زمینه های دلخواه وردپرس

این اطلاعات به صورت خودکار در پایگاه داده ذخیره می شوند و می توانید آن را در هر جای پوسته خود به نمایش بگذارید به شرطی که کد زیر در فایل مورد نظر برای نمایش وجود داشته باشد

<?php the_meta(); ?>

یک مثال ساده می زنم: می خواهید اطلاعات کاربر را در صفحه داخلی نوشته  قبل از مطلب نمایش دهید. در این حالت کد بالا باید در فایل single.php و قبل از کدهای مربوط به نمایش نوشته داخل حلقه loop قرار گیرد.

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

<?php echo get_post_meta($post->ID, 'نام ویزگی مورد نظر برای نمایش', true); ?>

در بیان ساده تر، با تصویر اینکه فایل User-profile.php مربوط به نمایش پروفایل کاربر است و فایل Estate-info.php مربوط به نمایش اطلاعات املاک است. پس زمینه های دلخواه مربوط به پروفایل کاربر را در فایل User-profile.php و مربوط به املاک را در فایل Estate-info.php قرار می دهیم (با استفاده از کد بالا).

 پنهان سازی زمینه های دلخواه وردپرس از کاربران

فایل functions.php پوسته خود را باز کرده و کد زیر را داخل آن قرار دهید:

add_action('admin_init','remove_custom_meta_boxes');
function remove_custom_meta_boxes() {
remove_meta_box('postcustom','post','normal');
remove_meta_box('postcustom','page','normal');
}

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

دستور شرط در زمینه های دلخواه وردپرس

حالتی را در نظر بگیرید که تعدادی زمینه دلخواه به نام های: تعداد اتاق خواب، متراژ، منطقه و…. دارید.زمانی که مقادیر این زمینه ها را وارد کنید بدون مشکلی در صفحه شما نمایش داده می شود. اما زمانی که مقداری وارد نکنید خالی می ماند. با کد زیر شرط می گذاریم که زمانی که مقداری وارد شد عبارت:” خالی” را چاپ کند:

<?php $songs = get_post_meta($post->ID, 'songs', true);
//بررسی وجود مقدار
if ($songs) { ?>
Listening to: <?php echo $songs; ?>
<?php } //اگر مقداری وجود نداشته باشد نوشته زیر چاپ خواهد شد
else { ?>
خالی
<?php } ?>

با استفاده از شرط در زمینه های دلخواه وردپرس، استایل زمینه های دلخواه را حذف خواهیم کرد.

نمایش زمینه های دلخواه خارج از حلقه LOOP وردپرس

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

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'Your-Custom-Field', true);
wp_reset_query();
?>

این مقاله ادامه خواهد داشت…

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

موفق باشید

14 دیدگاه برای “زمینه های دلخواه وردپرس

  • مهدی طیبی
    - ۱۸ فروردین , ۱۳۹۳

    ممنون از آموزشی که به درخواست بنده قرار دادید …
    چند تا سوال داشتم که دقیق متوجه نشدم :
    ۱ – قسمت اول که درباره نمایش زمینه دلخواه در پوسته گفتید این دستور دقیقا باید در کجای دستور قالب قرار بدهیم ؟؟ مثلا من اگر بخوام در index لیستی از املاک داشته باشم که در هر پست تعداد اتاق و متراژ نوشته باشه باید در کجا قرار بدم ؟ ممنون میشم موقعیت دقیقش به همراه مثال حلقه تکرار پست قرار بدهید .
    ۲ – درباره ” پنهان سازی زمینه های دلخواه وردپرس از کاربران ” این یعنی چی دقیق :دی
    و اینکه چطور میتوانیم این امکان در قالب قرار بدهیم . بدون اینکه خود کاربر یا مدیر سایت بخواهد قسمتی در زمینه دلخواه ایجاد کنه به هنگام نصب قالب بخش هایی هم که میخواهیم به زمینه دلخواه وارد بشود ؟
    ۳- من چطور میتوانم این زمینه دلخواه کمی اختصاصی تر کنم ، یعنی مثلا بعد از نصب قالب یک قسمتی در صفحه مدیریت { مثل بخش مطالب } به عنوان املاک ایجاد بشه و فقط کاری کنم که زمینه دلخواه در اون بخش نمایش داده شود و در حالت عادی در بخش مدیریت مطالب نیازی به نمایش آن نباشد ؟

    بازم ممنون .

    • الناز
      - ۱۸ فروردین , ۱۳۹۳

      خواهش میکنم مهدی جان. این آموزش تنها معرفی بخشی از زمینه های دلخواه است. چرا که این مبحث گسترده می باشد. انشاالله در آینده این مقاله کامل تر خواهد شد.
      در خصوص سوال ۱: اگر میخواهید که در صفحه index نشان داده بشه که مشخصه. اما وقتی می خواهید کاربر بعد از کلیک روی توضیح بیشتر تو صفحه توضیحات ملک زمینه ها را ببیند باید کد را داخل فایل single.php بگذارید
      سوال ۲: پنهان سازی یکی از هک های زمینه های دلخواه است و زمانی که کار می رود که شما بخواهید زمینه ها را از دید کاربران مخفی کنید (در پنل)
      سوال ۳: می توانید از تنظیمات صفحه استفاده کنید

  • سعید
    - ۱۹ فروردین , ۱۳۹۳

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

    • الناز
      - ۱۹ فروردین , ۱۳۹۳

      سلام سعید جان. نمایش برچسب ها و تعداد دیدگاه ها و… که توابع پیشفرض وردپرس هستند و می توانید با فراخوانی آنها در قالب خودتون اونهارو نشون بدید. اما در خصوص ظاهر و آیکن و …. باید با css آنها را بچینید.

  • سعید
    - ۱۹ فروردین , ۱۳۹۳

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

    • الناز
      - ۱۹ فروردین , ۱۳۹۳

      ایمیل میکنم براتون

      • سعید
        - ۱۹ فروردین , ۱۳۹۳

        خیلی ممنونم…
        با سپاس فراوان…

  • کنکور
    - ۲۵ تیر , ۱۳۹۳

    مطلب مفید و جالبی بود
    مرسی

  • بهداد فروزش
    - ۲۶ اردیبهشت , ۱۳۹۴

    سلام
    یک سوال داشتم . ابزارک هایی که در کنار صفحه اصلی در سایت وجود دارد توسط لوپ ها نمایش داده می شوند؟

    • الناز
      - ۲۷ اردیبهشت , ۱۳۹۴

      سلام دوست عزیز. خیر نیازی به لوپ نیست

  • یادگیری زبان انگلیسی
    - ۱۵ تیر , ۱۳۹۵

    سلام

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

  • محمد
    - ۲۳ خرداد , ۱۳۹۶

    سلام خسته نباشید استاد عزیز.من یه مشکلی دارم اینه که میخوام در وردپرس در بخش نوشته ها در قسمت متا باکس مثلا بنویسم پلاگین فتوشاپ cc با ورژن ۱.۰.۳(میخوام در وردپرس این کار رو بکنم در بخش single.php) بعد بنویسم : لینک دانلود مستقیم اول-لینک دانلود مستقیم دوم و…. (مثل سایت دانلود ها-سافت ۹۸ و یاس دانلود) همینطور که میدونید نرم افزار ها و بازی ها پلاگین /DLC / کرک و پچ های مختلف دارن و ممکنه لازم باشه برای هر کدوم توضیح جداگانه و لینک دانلود جداگانه قرار بدیم.و منطقی بنظر نمیرسه برای هر پست کد نویسی صورت بگیره.

    • الناز
      - ۲۴ خرداد , ۱۳۹۶

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

  • آینار
    - ۷ دی , ۱۳۹۹

    یه سوال دارم
    در پیشخوان وردپرس که میخوام زمینه ای رو اضافه کنم باید دسته بنویسم و این کار یکم سخته در حالی که قبلا پیش فرض سیو داشتم و الان پاک شده و گزینه های دیگر اومدن مثل اینکه ۳۰ گزینه پیش فرض نشون میده
    الان میخوام گزینه هایی که بیشتر نیاز دارم هنگام اضافه کردن نمایش بده باید چطور تغییر بدم

دیدگاه خود را بیان کنید

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

-- بارگیری کد امنیتی --