چگونه از تضاد کد کوتاه تم و افزونه جلوگیری کنیم
چگونه از تضاد کد کوتاه تم و افزونه جلوگیری کنیم
همه ما این را تجربه کردهایم: شما یک تم ممتاز میخرید که واقعاً عالی است، و همچنین یک افزونه شگفتانگیز (مثلاً یکی از پلاگینهای من!) خریداری میکنید، اما تم و افزونه را در کنار هم قرار میدهید. فقط اصلا کار نمیکنه پس چی؟ آیا افزونه یا طرح زمینه دارای اشکال است؟
بیشتر اوقات، زمانی که این اتفاق میافتد، زمانی است که از کدهای کوتاه استفاده میکنید. بیایید تصور کنیم که به تازگی افزونه ای را برای رسیدگی به “تشریحات” خریداری کرده اید. شما مستندات را به دقت مطالعه میکنید و میدانید که برای نمایش گواهیها باید کد کوتاه زیر را وارد کنید [تشریحات]. اما وقتی این کار را انجام می دهید، چیزی ظاهر نمی شود.
دلیل اینکه کد کوتاه با توصیفات جایگزین نمی شود، این است که موضوع شما و افزونه دقیقاً همان کد کوتاه را تعریف می کنند.
از آنجایی که فایلهای افزونهها قبل از فایلهای تم بارگذاری میشوند، بازنویسی میشوند و در این مورد بهطور کامل در نظر گرفته نمیشوند.
به همین دلیل است که میخواستم یک روش ساده برای لغو ثبت کد کوتاه تم و جایگزینی آن با یکی از افزونهها به شما نشان دهم.
مرحله 1: ایجاد یک پلاگین ساده
ما باید یک افزونه ساده ایجاد کنیم:
مرحله 2: بررسی کنید که آیا کد کوتاه وجود دارد
این مهمترین مرحله است. جایی است که وجود یک کد کوتاه را بررسی می کنید. وردپرس دارای یک متغیر جهانی “$shortcode_tags” است که لیست تمام کدهای کوتاه ثبت شده را ذخیره می کند. بنابراین، ما فقط باید این متغیر را مرور کنیم و بررسی کنیم که آیا کد کوتاهی که به دنبال آن هستیم بخشی از آن است یا خیر.
/** * بررسی کنید که آیا یک کد کوتاه قبلاً ثبت شده است * * @از 1.0 * * @param $shortcode string کد کوتاه برای آزمایش * * @return void */ تابع rc_asc_shortcode_exists( $shortcode = false ) { جهانی $shortcode_tags; //echo '
'; var_dump($shortcode_tags); پژواک '';
اگر ( ! $shortcode )
بازگشت نادرست؛if ( array_key_exists( $shortcode, $shortcode_tags ) )
بازگشت درست؛بازگشت نادرست؛
}
این تابع عمومی است که ما در یک تابع خاص تر از جمله Slug کد کوتاه برای جستجو استفاده خواهیم کرد. این تابع اگر کد کوتاه وجود داشته باشد TRUE یا اگر وجود نداشته باشد FALSE را برمیگرداند.
مرحله 3: کد کوتاه را حذف کنید و کد جدید را ثبت کنید
عملکرد بعدی با استفاده از rc_asc_shortcode_exists() است که ما ایجاد کردیم. به سادگی وجود کد کوتاه را بررسی می کند، در صورت وجود آن را جایگزین می کند، یا اگر قبلاً ثبت نشده است، کد کوتاه را اضافه می کند.
/** * بررسی کنید که آیا کد کوتاه قبلاً ثبت شده است و آن را جایگزین کنید * * @از 1.0 * * @return void */ تابع rc_asc_replace_shortcode() { $shortcode = 'توصیه ها'; if( rc_asc_shortcode_exists( $shortcode ) ) { remove_shortcode( $shortcode ); add_shortcode( $shortcode, 'my_testimonials_function' ); }دیگر { add_shortcode( $shortcode, 'my_testimonials_function' ); } }
مرحله 4: تابع کد کوتاه جدید را تعریف کنید
تنها کاری که باید انجام دهید این است که محتوای تابع “my_testimonials_shortcode()” را تعریف کنید و کارتان تمام شد!
/** * کد کوتاه جدید را ایجاد می کند * * @از 1.0 * * @return void */ تابع my_testimonials_function() { بازگشت 'این جایگزین کد کوتاه قبلی می شود!'; }
همانطور که می بینید، کد کوتاه اعلام شده قبلی اکنون با کد کوتاه مناسب جایگزین شده است.