وردپرس با یک اسکریپت پیش فرض همراه است که می توانید از آنها برای تغذیه مضامین و افزونه ها استفاده کنید. jQuery همانند TinyMCE اسکریپت متداول است. اما اگر می خواهید اسکریپت jQuery خود را ادغام کنید چه می کنید؟

ما اخیراً نشان داده ایم که چگونه اسکریپتهای jQuery را به درستی به نصب شما اضافه کنیم. وردپرس از همان مکانیزم داخلی استفاده می کند ، به این معنی که ما می توانیم اسکریپت های صف را با اسکریپت های خود حذف یا حتی جایگزین کنیم.

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

چرا اسکریپت های داخلی را اصلاح کنید: مورد jQuery؟

طیف وسیعی از سناریوها وجود دارد که ممکن است بخواهید اسکریپت های داخلی بارگذاری شده را اصلاح کنید. به عنوان مثال ، وردپرس در حال حاضر به طور پیش فرض از jQuery 1.11.3 استفاده می کند ، با این حال ، آخرین نسخه در واقع 1.12.3 یا 2.2.3 است. اگر در حال نوشتن برنامه ای هستید که به قابلیت های پیشرفته jQuery متکی است ، ممکن است لازم باشد از نسخه جدیدتر اسکریپت استفاده کنید.

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

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

اگر نسخه جدیدی از jQuery را به زور به شما تحمیل کنید وب سایتبرای مثال، ممکن است باعث مشکلات سازگاری پیش بینی نشده شود. در صورت امکان همیشه باید وردپرس را به صورت محلی آزمایش کنید و از تغییر/حذف اسکریپت ها خودداری کنید مگر اینکه کاملاً ضروری باشد.

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

نحوه ویرایش اسکریپت

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

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

اگر می خواهید اسکریپت های موجود در افزونه ها را اصلاح کنید ، می توانید تغییرات لازم را در طرح زمینه کودک خود ایجاد کنید یا در یک پلاگین جدید. بسته به دامنه پروژه ، توصیه می کنم یک پلاگین به طور خاص برای اصلاح اسکریپت های سایر افزونه ها ایجاد کنید.

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

"ثبت نام" از اسکریپت ها

اگر قبلاً آموزش قبلی نحوه افزودن صحیح اسکریپت در وردپرس را بررسی نکرده اید ، اکنون می توانید این کار را انجام دهید و دوباره برگردید. دیدیم که روش افزودن اسکریپت ها به وردپرس از طریق ثبت آنهاست. حذف آنها البته روند معکوس است که به معنای "ثبت نام" یا بهتر بگوییم لغو ثبت نام است. با استفاده از تابع wp_deregister_script () مانند این انجام می شود:

wp_deregister_script ('jquery')؛

تنها پارامتر مورد نیاز در اینجا فضای نام اسکریپت است. هنگام ذخیره اسکریپت ، فضای نام داده می شود و می توانید برای اطلاعات بیشتر در مورد پست من در مورد اضافه کردن jQuery برای وردپرس بخوانید.

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

جایگزینی اسکریپتها

اگر می خواهید یک اسکریپت را جایگزین کنید ، صرفاً ذخیره آن با پارامترهای جدید کافی نیست (این موارد نادیده گرفته می شوند). شما باید ثبت نام کنید و سپس دوباره اسکریپت را ثبت کنید. در اینجا یک مثال سریع آورده شده است:

تابع my_enqueued_assets () {wp_deregister_script ('jquery')؛ wp_enqueue_script ('script-name'، '//code.jquery.com/jquery-2.2.3.min.js'، array ()، '2.2.3')؛ } add_action ('wp_enqueue_scriptts'، 'my_enqueued_assets')؛

اسکریپت های ذخیره شده را پیدا کنید

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

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

$ wp_script جهانی؛ پژواک '؛
var_dump ($ wp_script)؛
پژواک '؛

روش دیگری که من استفاده می کنم جستجوی wp_enqueue_scripts در پوشه پلاگین های من است. این به من اجازه می دهد ببینم کدام افزونه مسئول کدام اسکریپت در سایت من است.

چرا جایگزینی اسکریپت ها همیشه ایده خوبی نیست

در حالی که برخی از توسعه دهندگان قالب و پلاگین بارگیری اسکریپت های خود و به خصوص نسخه دیگری از jQuery را کاملاً ضروری می دانند ، اما در مورد اینکه آیا بارگذاری آن واقعا مناسب است ، در جامعه وردپرس اختلاف نظر وجود دارد. ساختن

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

خلاصه

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

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