illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید تا کنون 6337 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !
3 4224 ۲۳ اسفند ۹۲ کیوان علی محمدی

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

دراین کد با استفاده از کلمه global متغییر wp_version که نسخه فعلی رو در خودش نگهداری میکنه احضار کردیم؛بعدشم با تابع version_compare مقایسه رو انجام دادیم،در پارامتر اول متغییر wp_version و در پارامتر دوم نسخه مورد نظر ما برای چک شدن و در پارامتر سوم هم عملگر مورد نظر برای مقایسه رو قرار میدیم.

در این جا عملگر کوچکتر رو قرار دادیم و گفتیم اگه نسخه فعلی از نسخه 3.6 کوچیکتر بود پیغام خطایی رو به خروجی ببر و نشون بده و هم چنین اجرای کد متوقف بشه.برای پوسته از این کد در فایل functions.php و برای افزونه در فایل اصلی افزونه استفاده کنید.

موفق و پیروز باشید.

نوع کد رايگان

دیدگاه ها 3 دیدگاه برای این مطلب ارسال شده است.

  • ‏‏
    پویابهروش(۲۶ اسفند ۱۳۹۲)

    این کد ، دو تا اشکال خیلی خیلی بزرگ داره که پیشنهاد میکنم از این کدها اصلا استفاده نکنید.
    اولا اینکه از global استفاده شده ، که اگر کاری بخواد انجام شه رو کل وردپرستون انجام میشه و خلاصه به هم می ریزه. و همینطور اینکه کاستی های امنیتی هم داره.
    مورد دوم هم یه اشتباه کدنویسی یا تجربی هستش! اینکه در این کدها باید به جای استفاده از die برای برگردوندن خطا، از echo یا پیغام قابل بندی شده وردپرس استفاده کنید.
    دلیلش هم اینه که توابع وردپرس ، قبل از لود وبلاگ ، قسمت مدیریت و همه جای اون اجرا میشن. و دستور die در PHP باعث توقف باقی عملیات میشه. واسه همین اگر این پیغام بخواد ظاهر شه ، کل سایتتون واسه چند لحظه (یعنی تا زمانی که شما برید از تو هاست کدها رو بردارید) تعطیل میشه.
    باور ندارید ، کافیه در کدهای به جای 3.6 مثلا یه ورژن که هنوز نیومده یا وردپرس شما از اون کمتره (مثلا 4.1) رو قرار بدید ، تا پشیمون بشیید :)

    اصلاحاتی رو که گفتم اگه انجام بدید حله :)

    • ‏‏
      کیوان علی محمدی(۲۶ اسفند ۱۳۹۲)

      سلام دوست عزیز،اولا استفاده از global برای اجرای کد در تمام برنامه نیست،بلکه global در php برای دستیابی به متغییری هستش که خارج از میدان فعلی اسکریپت تعریف شده،متغییر wp_version استاندارد در خود وردپرس هتسش،اینکه کد رو die کردیم تماما از اجرای کد جلوگیری میکنه درسته و دلیلش هم اینه که در صورت موجود نبودن وابستگی های دیگه، کد ناقص اجرا میشه و یا اصلا اجرا نمیشه،اینکه کاربر بدونه مشکل از نسخه وردپرس هستش بهتر از اینه که با پیغام های زیادی روبرور بشه که شاید اصلا ازش سر در نیاره،استفاده از echo صرفا پیغام رو نشون میده و مانع از اجرای کد ها نمیشه.شما اگه با ساختار افزونه ها و پوسته ها آشنا باشی باید بدونید که افزونه ها در وردپرس در واقع یه نوع ماژول هستن که به بدنه اصلی وصل میشن،پس اجرای کد در افزونه به معنای اجرای کد در اون میدان تعریف شده هستش (یا محیط کاربری یا محیط مدیریت).موفق و پیروز باشید.

  • ‏‏
    پویابهروش(۲۷ اسفند ۱۳۹۲)

    بله می دونم که اگر افزونه مشکل داشته باشه یا پوسته ، مشکل ساز خواهد بود.
    اما پیشنهاد بنده این بود که از قسمت خطای خود وردپرس استفاده کنید بهتره. چون ممکنه کاربر اگر این کد رو استفاده کنه و کل وردپرسش برای یه مدتی رو هوا بمونه ، ممکنه تازه کار باشه و ندونه چی کار کنه و همین باعث شه کلی ضرر بهش وارد شه به خاطر تعطیلی چند ساعته وبلاگش.
    افزونه ها اگر سازگاری نداشته باشند ، حداکثر تا 50 درصدشون باعث بالا نیومدن سایت میشن که اگر اون پیغام با همون متن اما به صورت echo و قالب بندی شده نمایش داده بشه ، ممکنه اقدامی بکنه.
    اما این کدها ، روی 50% بقیه هم اثر می ذارن که قشنگ می ره رو اعصاب آدم!
    هرچند…این کدها برای استفاده ی یه کاربر معمولی نیست و برای کسیه که کد و افزونه و پوسته رو می نویسه و اون فرد قطعا با استفاده از تجربه و دانشش می تونه تشخیص بده که برای اون مورد (بر حسب حساسیت مشکل) ، die بهتره یا echo :)

  • ارسال دیدگاه

    ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram