خانه / سیستمهای مدیریت محتوا / وردپرس / راهنمای آسان قرار دادن کدها از وب به وردپرس

راهنمای آسان قرار دادن کدها از وب به وردپرس

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

توجه: فایل قالب functions.php در پوشه /wp-content/themes/yourthemename/ قرار دارد. توجه داشته باشید که این فایل با فایل اصلی functions.php که در پوشه  /wp-includes/ قرار دارد متفاوت است.

برای اینکه بفهمید چگونه باید به درستی کد را قرار دهید، شما باید اطلاعات اولیه و پایه PHP را یاد بگیرید.

۱ //This is the opening tag of a PHP Code

۲ <?php

۳

۴ //This is the closing tag of a PHP Code

۵ ?>

علت این که شما نیاز دارید تا با این مسائل آشنا شوید این است که در ۹۵ درصد مواقع کاربران کد را در مکان اشتباه قرار داده اند. بنابراین ما به خوبی دریافته ایم که آشنایی با مفاهیم اولیه PHP بسیار مناسب و کاربردی است. در زیر برخی از مشهورترین اشتباهات انجام شده توسط کاربران را می بینید:

اولین خطای رایج

کاربران کدی مانند زیر که مناسب PHP است را در یک وب سایت می بینند و آن را در مکان اشتباه قرار می دهند.

۱ <?php

۲ add_filter( ‘login_headerurl’, ‘custom_loginlogo_url’ );

۳ function custom_loginlogo_url($url) {

۴     return ‘http://www.wpbeginner.com’;

۵ }

۶ ?>

مثال از کد فایل قالب functions.php (توجه داشته باشید که معمولا این فایل کدهای بسیار بیشتری دارید اما اینجا برای گرفتن ایده از آن چه در آن وجود دارد و توالی آن چگونه است این کد قرار داده شده است):

۰۱ <?php

۰۲ //Tons of mumble jumble PHP code that already exists in your PHP file is here

۰۳

۰۴ //User would copy and paste the snippet they found on the web like this:

۰۵

۰۶ <?php

۰۷ add_filter( ‘login_headerurl’, ‘custom_loginlogo_url’ );

۰۸ function custom_loginlogo_url($url) {

۰۹     return ‘http://www.wpbeginner.com’;

۱۰ }

۱۱ ?>

۱۲ ?>

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

۰۱ <?php

۰۲ //Tons of mumble jumble PHP code that already exists in your PHP file is here

۰۳

۰۴ //See how we properly closed the first open PHP tag

۰۵ ?>

۰۶ //Now we can open the PHP tag.

۰۷ <?php

۰۸ add_filter( ‘login_headerurl’, ‘custom_loginlogo_url’ );

۰۹ function custom_loginlogo_url($url) {

۱۰     return ‘http://www.wpbeginner.com’;

۱۱ }

۱۲ ?>

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

روش دیگر این است که تگ های آغاز و پایان تابع جدید وردپرس را جابجا کنید. مثالی که ذکر شد بدین شکل در می آید:

۰۱ <?php

۰۲ //Tons of mumble jumble PHP code that already exists in your PHP file is here

۰۳

۰۴ // New code just goes here (Notice how we stripped out the opening and closing PHP tags from the new code)

۰۵

۰۶ add_filter( ‘login_headerurl’, ‘custom_loginlogo_url’ );

۰۷ function custom_loginlogo_url($url) {

۰۸     return ‘http://www.wpbeginner.com’;

۰۹ }

۱۰ ?>

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

هر نویسنده یک آموزش و دستورالعمل روش نوشتن مخصوص به خود را دارد. بعضی از نویسنده ها کد خود را در تگ PHP قرار می دهند همانطور که در بالا دیدید. بعضی از نویسنده ها کدها را در داخل تگ PHP قرار نمی دهند. این موضوع باعث ایجاد مشکل دوم می شود. اگر شما یک کد مانند زیر داشته باشید:

۱ function custom_loginlogo() {

۲ echo ‘<style type=”text/css”>

۳ h1 a {background-image: url(‘.get_bloginfo(‘template_directory’).’/images/login_logo.png) !important; }

۴ </style>’;

۵ }

۶ add_action(‘login_head’, ‘custom_loginlogo’);

نویسنده فرض را بر این گرفته است که شما می دانید که این کد باید در درون تگ های PHP قرار بگیرد. حتی بعضی ها پیشنهاد می دهند که کد های آن ها را در پایین فایل قالب functions.php قرار دهید. مثالی از این اشتباه قدیمی را در زیر می بینید:

۰۱ <?php

۰۲ //Tons of mumble jumble PHP code that already exists in your PHP file is here

۰۳ ?>

۰۴

۰۵ //Then the user paste the code here (Notice the PHP tags are already closed above):

۰۶

۰۷ function custom_loginlogo() {

۰۸ echo ‘<style type=”text/css”>

۰۹ h1 a {background-image: url(‘.get_bloginfo(‘template_directory’).’/images/login_logo.png) !important; }

۱۰ </style>’;

۱۱ }

۱۲ add_action(‘login_head’, ‘custom_loginlogo’);

اگر دقت کنید می بینید که کاربر کد را خارج از تگ های PHP قرار داده است. وردپرس نمی تواند تشخیص بدهد که کد چیست در نتیجه کد کار نمی کند. یک کد درست به شکل زیر است:

۰۱ <?php

۰۲ //Tons of mumble jumble PHP code that already exists in your PHP file is here

۰۳

۰۴ //The new goes here

۰۵ function custom_loginlogo() {

۰۶ echo ‘<style type=”text/css”>

۰۷ h1 a {background-image: url(‘.get_bloginfo(‘template_directory’).’/images/login_logo.png) !important; }

۰۸ </style>’;

۰۹ }

۱۰ add_action(‘login_head’, ‘custom_loginlogo’);

۱۱

۱۲ //PHP End Tag

۱۳ ?>

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

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

آناتومی یک تابع معمولا به شکل زیر است:

۱ function custom_function_name() { // This is the opening tag of a function

۲

۳ // code specific to the function goes here

۴

۵ } // This is the closing tag of a function

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

۰۱ function custom_function_name() { // This is the opening tag of a function

۰۲

۰۳ // code specific to the function goes here

۰۴

۰۵ function custom_loginlogo() {

۰۶ echo ‘<style type=”text/css”>

۰۷ h1 a {background-image: url(‘.get_bloginfo(‘template_directory’).’/images/login_logo.png) !important; }

۰۸ </style>’;

۰۹ }

۱۰ add_action(‘login_head’, ‘custom_loginlogo’);

۱۱

۱۲ } // This is the closing tag of a function

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

۰۱ function custom_function_name() { // This is the opening tag of a function

۰۲

۰۳ // code specific to the function goes here

۰۴

۰۵

۰۶ } // This is the closing tag of a function

۰۷

۰۸

۰۹ function custom_loginlogo() {

۱۰ echo ‘<style type=”text/css”>

۱۱ h1 a {background-image: url(‘.get_bloginfo(‘template_directory’).’/images/login_logo.png) !important; }

۱۲ </style>’;

۱۳ }

۱۴ add_action(‘login_head’, ‘custom_loginlogo’);

سه اشتباه بالا احتمالا دلایل اصلی است که شما قالب خود را هنگام کپی کردن کد و قرار دادن آن در فایل قالب functions.php وردپرس خراب کرده اید.

نکات دیگر

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

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

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

 

منبع

مطلب پیشنهادی

چگونه مهلت نظر دادن در وردپرس را برای بعضی پست ها تغییر دهیم

یکی از راه حل هایی که اغلب اوقات برای کاهش میزان نظرات اسپم پیشنهاد می …

پاسخ دهید

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