mani261 5 ارسال شده در اردیبهشت 95 گزارش بازنشر ارسال شده در اردیبهشت 95 قصد دارم توی Child Theme یکسری توابعی رو بازنویسی کنم که توی فایلهای اصلی قالب (مثل فوتر) نیست که بشه به سادگی کپی پیست و بازنویسی کرد بلکه در فایلهای داخلی مثلاً در فولدر library قرار داره و قابل بازنویسی عادی نیست. از روش این راهنما و تابع remove_action هم استفاده کردم ولی انجام نشد. یعنی هم نتیجه تابع قالب اصلی ظاهر میشه و هم نتیجه تابع فرزند. من میخوام تابع اصلی کلاً اجرا نشه. کسی ایدهای در این مورد داره؟ نقل قول لینک به ارسال
mani261 5 ارسال شده در اردیبهشت 95 مالک گزارش بازنشر ارسال شده در اردیبهشت 95 در 2 ساعت قبل، pctricks گفته است : یک اکشن درست کن و جاهایی را که می خواهید آن تابع اجرا شود با فراخوانی اکشن آن تابع را صدا بزنید. همین کار رو کردم و اکشن من اجرا میشه. هدف اینه که اکشن قالب اصلی اجرا نشه. بابتش هم این کد رو نوشتم ولی باز اجرا میشه: function child_remove_parent_function() { remove_action( 'cleanretina_footer', 'cleanretina_footer_info' ); } add_action( 'init', 'child_remove_parent_function' ); نقل قول لینک به ارسال
mani261 5 ارسال شده در اردیبهشت 95 مالک گزارش بازنشر ارسال شده در اردیبهشت 95 خب من کد روطبق راهنمایی شما به این شکل نوشتم ولی باز هم تابع والد اجرا میشه function child_remove_parent_function() { remove_action( 'cleanretina_footer', 'cleanretina_footer_info' ); add_action( 'cleanretina_footer', 'childtheme_footer_info' ); } add_action( 'after_setup_theme', 'child_remove_parent_function' ); نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در اردیبهشت 95 گزارش بازنشر ارسال شده در اردیبهشت 95 remove_action رو توی functions.php قالب اصلی اجرا کنید این فایل همیشه به فایلهای دیگه اولویت داره ترجیحا بعد از اینکلود فایلهای library قرارش بدید 1 نقل قول لینک به ارسال
mani261 5 ارسال شده در اردیبهشت 95 مالک گزارش بازنشر ارسال شده در اردیبهشت 95 در 40 دقیقه قبل، imanfakhar گفته است : remove_action رو توی functions.php قالب اصلی اجرا کنید این فایل همیشه به فایلهای دیگه اولویت داره ترجیحا بعد از اینکلود فایلهای library قرارش بدید من قصد داشتم بدون دستکاری قالب اصلی این اجرا بشه. با تغییر اولویت اجرای اکشن هم نتونستم کنترلش کنم. نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در اردیبهشت 95 گزارش بازنشر ارسال شده در اردیبهشت 95 سه تا پارامتر تو remove_action هست که باید رعایت بشه اول نام هوکی که اکشن بهش زده شده دوم نام تابعی که اکشن اجراش می کنه و سوم پوزیشن اکشنه که در واقع عدد اولویت زمانیه اکشنه function child_remove_parent_function() { remove_action( 'cleanretina_footer', 'cleanretina_footer_info', 5 ); } add_action( 'init', 'child_remove_parent_function',15 ); اگر عدد سوم رو نمی دونید تنها راهش همون فانکشنز اصلیه (یا آزمون و خطا تا رسیدن به عدد بالاتر) 1 نقل قول لینک به ارسال
mani261 5 ارسال شده در اردیبهشت 95 مالک گزارش بازنشر ارسال شده در اردیبهشت 95 عالی بود اولویت اکشن اصلی ۲۵ بود که طبق راهنمایی شما ۳۰ گذاشتم درست شد. بسیار سپاسگزارم. 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .