فرشاد گوهری 1681 ارسال شده در بهمن 98 گزارش بازنشر ارسال شده در بهمن 98 سلام دوستان، وقت بخیر من قصد دارم فیلتر پارسی دیت رو روی یکسری از توابع موجود در قالبم غیرفعال کنم، بهصورتی که تاریخ اون بخشها به صورت میلادی و با اعداد انگلیسی نشون داده بشه. توی تنظیمات پارسیدیت، گزینهای هست جهت رفع فیلتر، اما نمیدونم دقیقا چطور باید باهاش کار کرد، من اسم تابع مورد نظرم رو داخلش نوشتم ولی غیرفعال نشد، بخشی که قصد داشتم فارسی و شمسی نشه: <meta itemprop="datePublished" content="<?php the_time('c'); ?>"/> <meta itemprop="dateModified" content="<?php the_modified_date('c'); ?>"/> من اسم این توابع رو داخل فیلد تنظمیات پارسیدیت گذاشتم: the_modified_date the_time اما فرقی نکرد. ممنونم میشم راهنمایی کنید چطور باید از این قابلیت پارسیدیت استفاده کرد؟ 1 نقل قول لینک به ارسال
Mobin 1669 ارسال شده در اسفند 98 گزارش بازنشر ارسال شده در اسفند 98 ببین نحوه غیر فعال کردن توابع به این صورت هست که شما نیاز به 3 پارامتر دارین اول تابع وردپرس که میخواهید هوک روش غیرفعال بشه مثلا the_time بعد اینکه این تابع the_time رو میخوادی در کجا غیر فعال کنی قطعا این تابع داره درون یک تابع یا متد فراخوانی میشه گزینه دوم اسم تابعی هست که میخوای توی اون این هوک غیر فعال بشه اگه متد یک کلاس هست پارامتر سوم اسم کلاس هست (اگه تابع درون کلاس نیست این پارامتر خالی حساب میشه ) اگه میخوای تو کل اون کلاس غیر فعال بشه گزینه دوم خالی میشه مثال date_i18n,display,WP_List_Table این پارامتر میاد هوک date_i18n رو تو متد display از کلاس WP_List_Table غیر فعال میکنه get_post_modified_time,,WPSEO_OpenGraph این پارامتر میاد هوک get_post_modified_time رو تو تمام متدهای کلاس WPSEO_OpenGraph غیر فعال میکنه 1 2 نقل قول لینک به ارسال
فرشاد گوهری 1681 ارسال شده در اسفند 98 مالک گزارش بازنشر ارسال شده در اسفند 98 (ویرایش شده) در در 2/29/2020 at 11:34، Mobin گفته است : ببین نحوه غیر فعال کردن توابع به این صورت هست که شما نیاز به 3 پارامتر دارین اول تابع وردپرس که میخواهید هوک روش غیرفعال بشه مثلا the_time بعد اینکه این تابع the_time رو میخوادی در کجا غیر فعال کنی قطعا این تابع داره درون یک تابع یا متد فراخوانی میشه ... سلام، خیلی ممنونم از توضیحات کاملتون، اگه درست فهمیده باشم، مثلا تابعی که میخوام فیلتر رو روش غیرفعال کنم این هست: the_modified_date() که داخل تابع mom_single_post_content() از قالبم فراخوانی شده، پس مقداری که باید داخل فیلد غیرفعالسازی پارسیدیت وارد کنم تا اینجا این هست: the_modified_date(), mom_single_post_content(), فقط الان دوتا سوال دارم، اول اینکه کلاس اون تابع اصلی رو از کجا پیدا کنم؟ مثلا برای the_modified_date() که سرچ کردم، توی داکیومنتهای وردپرس توضیح داده بود که مربوط به wp-includes/general-template.php هست که وقتی فایلش رو دیدم، این تابع داخل هیچ کلاسی تعریف نشده بود، بنابراین مث کد بالا باید پارامتر سوم که مربوط به کلاس بود رو خالی بذارم. اما این خط رو هم داخل باکس پارسیدیت گذاشتم، ولی عمل نکرد، فک کنم اشتباه کردم یا دقیقا متوجه منظورتون نشدم، ممکنه لطف کنید کجای کارم اشتباه هست؟ یا اینکه اگر این فقط مربوط به پلاگین پارسیدیت نیست و یه قاعدهی کلی در وردپرس هست، لطف کنید بهم بگید چه کیوردی رو باید سرچ کنم، خودم میرم دنبالش (نمیدونم دقیقا باید چی رو به انگلیسی سرچ کنم برای غیرفعال کردنش) همهی سرچهام به remove_action منتهی میشد. ویرایش شده اسفند 98 توسط فرشاد گوهری 1 نقل قول لینک به ارسال
Mobin 1669 ارسال شده در اسفند 98 گزارش بازنشر ارسال شده در اسفند 98 سلام وقت بخیر کدتون رو باید به صورت زیر قرار بدین the_modified_date, mom_single_post_content, بدون هیچگونه پرانتزی اگه تابع درون کلاس نیست و یک تابع مجزا هست خب قطعا پارامتر سومی(کلاس) هم نداره و بعد از کاما خالی میمونه 1 2 نقل قول لینک به ارسال
فرشاد گوهری 1681 ارسال شده در اسفند 98 مالک گزارش بازنشر ارسال شده در اسفند 98 در 20 دقیقه قبل، Mobin گفته است : سلام وقت بخیر کدتون رو باید به صورت زیر قرار بدین the_modified_date, mom_single_post_content, بدون هیچگونه پرانتزی اگه تابع درون کلاس نیست و یک تابع مجزا هست خب قطعا پارامتر سومی(کلاس) هم نداره و بعد از کاما خالی میمونه ممنونم از پیگیریتون، بله متوجه اشتباهم شدم و پرانتزها رو برداشتم، ولی همچنان کار نمیکنه، تصویرش رو داخل پیوست گذاشتم: 1 نقل قول لینک به ارسال
Mobin 1669 ارسال شده در اسفند 98 گزارش بازنشر ارسال شده در اسفند 98 پارسی دیت کلا 8 تابع اصلی رو هوک میکنه the_time the_date get_the_time get_the_date get_comment_time get_comment_date date_i18n wp_date چون پارسی دیت به تابع the_modified_date هوک نمیزنه قطعا disabler شما کار نمیکنه باید ببین تابع the_modified_date از کدوم یکی از این توابع استفاده میکنه کد زیر رو قرار بدین احتمالا کار خواهد کرد(لدون space قبل یا بعد کاماها) wp_date,mom_single_post_content, 1 2 نقل قول لینک به ارسال
فرشاد گوهری 1681 ارسال شده در اسفند 98 مالک گزارش بازنشر ارسال شده در اسفند 98 در 12 دقیقه قبل، Mobin گفته است : پارسی دیت کلا 8 تابع اصلی رو هوک میکنه the_time the_date get_the_time get_the_date get_comment_time get_comment_date date_i18n wp_date چون پارسی دیت به تابع the_modified_date هوک نمیزنه قطعا disabler شما کار نمیکنه باید ببین تابع the_modified_date از کدوم یکی از این توابع استفاده میکنه کد زیر رو قرار بدین احتمالا کار خواهد کرد(لدون space قبل یا بعد کاماها) wp_date,mom_single_post_content, ممنونم بله درسته، تابع the_time رو که بهجای پارامتر اول گذاشتم، یکی از اون مواردی که میخواستم فیلتر روش اعمال نشه، نشد! پس داره درست کار میکنه، همونطوری که فرمودید باید دنبال تابع the_modified_date بگردم. ممنونم از راهنماییتون، خیلی لطف کردید، میگردم و اگه تابع دقیقشو پیدا کردم همینجا اعلام میکنم که اگر بعدها بازم کسی به این مشکل خورد بتونه حلش کنه. 1 نقل قول لینک به ارسال
فرشاد گوهری 1681 ارسال شده در اسفند 98 مالک گزارش بازنشر ارسال شده در اسفند 98 (ویرایش شده) درود خدمت همهی دوستان من بالاخره با یه روش نسبتا عجیب تونستم مشکل رو حل کنم، روش کارم رو توضیح میدم که اگر کسی از دوستان در آینده احتیاج پیدا کرد بتونه استفاده کنه. البته نمیدونم راهی که انجام دادم، استاندارد و اصولی هست یا نه، ولی برای من داره کار میکنه. من میخواستم اکشن پارسیدیت رو روی دوتا از توابع قالبم غیرفعال کنم، اینها توابعی بودن که کدهای Structure Data رو تولید میکردن و به دلیل شمسی و فارسی بودن، گوگل نمیتونست بخونتشون و خطا میداد، به همین دلیل مجبور بودم با فرمت میلادی نمایش بدم، که برای قالب من این توابع بودند: the_time('c') the_modified_date('c') که خودشون داخل یک تابع زیر فراخوانی میشدند: mom_single_post_content() طبق روشی که @Mobin عزیز گفتند، من برای غیرفعال شدن پارسیدیت، این خط کدها رو داخل فیلد پارسیدیت وارد کردم (با آزمون و خطا فهمیدم که این دوتا تابع مربوط به این قسمتهاست) the_time,mom_single_post_content, wp_date,mom_single_post_content, با انجام اینکار، تابع اولی، یعنی the_time غیرفعال شد و به صورت میلادی نشون داده میشد، ولی تابع the_modified_date به جای اینکه غیرفعال بشه (تاریخ میلادی رو نشون بده) یک کاراکتر c رو توی خروجی نشون میداد، که نمیدونم دلیلش چی بود. ولی نکتهی عجیبی که وجود داشت این بود که وقتی مستقیما توی کدهای پارسیدیت این فیلتر رو غیرفعال میکردم مشکل حل میشد و بهخوبی این بخش هم تاریخش میلادی میشد، برای اینکه بتونم به شکل اصولی این فیلتر رو غیرفعال کنم، با استفاده از تابع remove_filter وردپرس غیرفعالش کردم، به این صورت: remove_filter( 'wp_date', 'wpp_fix_i18n' ); (این کد باید داخل فانکشن پوستهتون قرار بگیره) و در نهایت مشکل حل شد و فیلتر روی اون بخش هم غیرفعال شد، نکتهای که هست اینه که با استفاده از فیلد خود پارسیدیت، مثل اینکه تابع رفع فیلتر روش اعمال میشد ولی به صورت ناقص (یعنی بهجای اینکه کاملا غیرفعال شه و تاریخش میلادی شه، یه کاراکتر c میومد توی خروجی) اما وقتی کل این تابع با remove_filter غیرفعال میشد، مشکلم حل شد (البته شاید هم من اشتباه کردم و باید تابع رو روی جای دیگهای غیرفعال میکردم) ویرایش شده اسفند 98 توسط فرشاد گوهری 1 نقل قول لینک به ارسال
Mehran_zarei 1 ارسال شده در شهریور 00 گزارش بازنشر ارسال شده در شهریور 00 در در ۱۳۹۸/۱۲/۱۴ در 17:25، فرشاد گوهری گفته است : درود خدمت همهی دوستان من بالاخره با یه روش نسبتا عجیب تونستم مشکل رو حل کنم، روش کارم رو توضیح میدم که اگر کسی از دوستان در آینده احتیاج پیدا کرد بتونه استفاده کنه. البته نمیدونم راهی که انجام دادم، استاندارد و اصولی هست یا نه، ولی برای من داره کار میکنه. ... و در نهایت مشکل حل شد و فیلتر روی اون بخش هم غیرفعال شد، نکتهای که هست اینه که با استفاده از فیلد خود پارسیدیت، مثل اینکه تابع رفع فیلتر روش اعمال میشد ولی به صورت ناقص (یعنی بهجای اینکه کاملا غیرفعال شه و تاریخش میلادی شه، یه کاراکتر c میومد توی خروجی) اما وقتی کل این تابع با remove_filter غیرفعال میشد، مشکلم حل شد (البته شاید هم من اشتباه کردم و باید تابع رو روی جای دیگهای غیرفعال میکردم) با سلام به نظر میرسه این مشکل همچنان در این پلاگین در نسخه مخزن وردپرس که الان ورژن 3.0.3 هست همچنان وجود داره ولی در نسخه گیت هاب که ورژن 3.2.0-alpha هست برطرف شده و فقط با اضافه کردن هوک های مورد نیاز به لیست هوک ها در تنظیمات پلاگین، این مشکلات حل خواهند شد. https://github.com/wordpress-parsi/wp-parsidate 1 نقل قول لینک به ارسال
2413arman 0 ارسال شده در بهمن 01 گزارش بازنشر ارسال شده در بهمن 01 برای افزونه خاص میشه تعیین کرد که فیلتر پارسی براش غیر فعال بشه؟ نقل قول لینک به ارسال
Mobin 1669 ارسال شده در فروردین 02 گزارش بازنشر ارسال شده در فروردین 02 در در ۱۴۰۱/۱۱/۲۴ در 22:48، 2413arman گفته است : برای افزونه خاص میشه تعیین کرد که فیلتر پارسی براش غیر فعال بشه؟ افزونه خاص خیر بر مبنای کلاس و تابع این قابلیت رو داره نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .