sajad 731 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 سلام یه جدول تو وردپرس طراحی کردم که شامل یه سری سطر و ستون هست. دارم یه پنل تنظیم درست میکنم که ادمین سایت بتونه متن های این جدول رو از پیشخوان بتونه تغییر بده و وارد کد نشه. ابهامی که برام وجود داره این هست که مثلا الان من 5 تا سطر دارم که و جدول داره نشون میده و ادمین میتونه عبارت ها رو پاک کنه و یا تغییر بده. سوال اینجا پیش میاد چطوری امکانی رو تو همین پنل تنظیم ایجاد کنم که کاربر بتونه هر تعداد ردیف دیگه ای که قصد داره رو به این جدول اضافه کنه. مثلا تعداد 5 تا رو بکنه 10 تا سطر یا 7 تا و ... نقل قول لینک به ارسال
Mobin 1669 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 سوال شما کمی گنگ هست بیشتر توضیح بدین 1 نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 در 46 دقیقه قبل، lord_viper گفته است : سوال شما کمی گنگ هست بیشتر توضیح بدین خب بزارید اینطوری با یه مثال توضیح بدم: فرض کنیم یه همچین جدولی تو سایت داریم که یه سری اطلاعات داخل هر سطر و یا ستون نوشته شده: الان تو این جدول 10 تا سطر داریم. حالا اگه بخوایم یه سطر داده دیگه به این جدول اضافه کنیم و یا دو تا سطر از اطلاعات این جدول رو پاک کنیم چطوری باید اینکار رو انجام بدیم؟ ساده ترین روشش اینه که بریم تو کدها جدول و این تغییرات رو انجام بدیم. ولی من قصد داریم امکان حذف/ویرایش و اضافه کردن اطلاعات به این جدول رو از طریق یه پنل تنظیمات ساده ای که تو داشبورد وردپرس ایجاد میکنم امکان پذیر کنم. مثلا تو پنل تنظیمات دکمه ای باشه به اسم افزودن سطر که روی اون کلیک شد اطلاعات سطر جدید رو بگیره و به انتهای جدول اضافه کنه. ببخشید هر چی گشتم نمونه افزونه ای پیدا نکردم که بتونم معرفی کنم و واضح تر منظورم رو برسونم. اگه متوجه نشدید بگید تا بیشتر توضیح بدم. نقل قول لینک به ارسال
فرحان 997 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 سلام. بعضی از پنل های تنظیمات یه نوع فیلد دارن به اسم repeater field . که با اون میتونید فیلدهای تکرار شونده بسازید. یعنی کاربر دکمه اد رو که میزنه یه سطر جدید از فیلدها اضافه می شه. مثلا برای داشتن همچین قابلیتی میتونید از carbon fields استفاده کنید که هم سبکه و هم کاملا رایگانه. البته پنل Redux هم این قابلیت رو داره اما رایگان نیست این قابلیتش. 1 نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 در 10 دقیقه قبل، فرحان گفته است : سلام. بعضی از پنل های تنظیمات یه نوع فیلد دارن به اسم repeater field . که با اون میتونید فیلدهای تکرار شونده بسازید. یعنی کاربر دکمه اد رو که میزنه یه سطر جدید از فیلدها اضافه می شه. مثلا برای داشتن همچین قابلیتی میتونید از carbon fields استفاده کنید که هم سبکه و هم کاملا رایگانه. البته پنل Redux هم این قابلیت رو داره اما رایگان نیست این قابلیتش. ممنون فرحان جان یه سرچی کردم carbon-fields ظاهرا یه افزونه اس. من نمیخوام با افزونه اینکار رو انجام بدم. چون تا حد زیادی کدهای پنل تنظیمات رو نوشتم و آماده هست. فقط میخوام قابلیت حذف و اضافه سطر رو بهش اضافه کنم. الان مثلا 5 تا سطر تو جدولم دارم 5 تا input تو تنظیمات در نظر گرفتم که فقط میشه نوشته های هر سطر رو تغییر داد. نمیشه سطری رو حذف و یا اضافه کرد. به دنبال توضیح و مثال یا شبه کد هستم. نقل قول لینک به ارسال
فرحان 997 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 کربن فیلد رو میتونید بزاری توی پروژتون. از اونجایی که این کار چندین بخش داره فک نکنم یه قطعه کد بتونه کارتون رو راه بندازه چون هم مراحل ذخیره هست، هم کدهای جاوااسکریپت و هم کد UI . اگر از پنل سازی چیزی استفاده کردین ببینید شاید همچین ماژولی داشته باشه. تاجایی که میدونم ACF هم همین قابلیت رو داره و هم ACF و هم کربن فیلد رو میتونید توی پروژتون اینکلود کنید. اما کربن فیلد سبک تره. 1 نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 در 3 ساعت قبل، m4xs051 گفته است : ممنون فرحان جان یه سرچی کردم carbon-fields ظاهرا یه افزونه اس. من نمیخوام با افزونه اینکار رو انجام بدم. چون تا حد زیادی کدهای پنل تنظیمات رو نوشتم و آماده هست. فقط میخوام قابلیت حذف و اضافه سطر رو بهش اضافه کنم. الان مثلا 5 تا سطر تو جدولم دارم 5 تا input تو تنظیمات در نظر گرفتم که فقط میشه نوشته های هر سطر رو تغییر داد. نمیشه سطری رو حذف و یا اضافه کرد. به دنبال توضیح و مثال یا شبه کد هستم. سلام و درود یه نمونه برات درست کردم. https://jsfiddle.net/7fqygc7f/ فقط باید توجه کنی بعد Submit اگر مثلا نام فیلد ها field باشه همین طور که توی مثال هست field یه آرایه است. $_POST['field'] متغییر بالا میشه آرایه. موفق باشید 2 نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 در 5 ساعت قبل، mehran-b گفته است : سلام و درود یه نمونه برات درست کردم. https://jsfiddle.net/7fqygc7f/ فقط باید توجه کنی بعد Submit اگر مثلا نام فیلد ها field باشه همین طور که توی مثال هست field یه آرایه است. $_POST['field'] متغییر بالا میشه آرایه. موفق باشید ممنون مهران جان خیلی مفید و کارراه انداز بود. مثالی که آماده کرده بودی رو من به این شکل در آوردم. دو تا سوال دارم: 1- چطور اطلاعات هر سطری که اضافه میکنم رو تو options.php رجیستر کنم؟ 2- چطور این اطلاعات ثبت شده در options.php رو بخونم و مورد استفاده قرار بدم؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 در 7 دقیقه قبل، m4xs051 گفته است : دو تا سوال دارم: 1- چطور اطلاعات هر سطری که اضافه میکنم رو تو options.php رجیستر کنم؟ 2- چطور این اطلاعات ثبت شده در options.php رو بخونم و مورد استفاده قرار بدم؟ خوب اینجا دیگه نمیخواد register_setting کنی بیا action رو خالی بذار هیچی نده وقتی هیچی ندی سابمیتش به همون صفحه جاری میره. بعد بیا چک کن توی کدهات ست شده کلید فیلدها یا نه. if(isset($_POST['field'])) my_plugin_update_option(); حالا بعد توی بدنه تابع my_plugin_update_option میای داده های توی کلید field رو چک میکنی و با add_option خودت اضافش میکنی به وردپرس دیگه مثل register_setting ثبت کردن رو به وردپرس نمیسپاری. 1 نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 در 5 دقیقه قبل، mehran-b گفته است : خوب اینجا دیگه نمیخواد register_setting کنی بیا action رو خالی بذار هیچی نده وقتی هیچی ندی سابمیتش به همون صفحه جاری میره. بعد بیا چک کن توی کدهات ست شده کلید فیلدها یا نه. if(isset($_POST['field'])) my_plugin_update_option(); حالا بعد توی بدنه تابع my_plugin_update_option میای داده های توی کلید field رو چک میکنی و با add_option خودت اضافش میکنی به وردپرس دیگه مثل register_setting ثبت کردن رو به وردپرس نمیسپاری. نکته اول: این جدول و پنل تنظیم پلاگین نیست و کدها داره تو فایل فانکشن قالب اضافه میشه. نکته دوم: تو فرانت سایت چطوری این مقادیر رو باید بخونم. قبلا که ثبت اطلاعات رو با وردپرس انجام میدادم توسط get_option دیتا هایی که ست شده بود رو میخوندم و تو فرانت سایت نمایش میدادم ولی حالا ظاهرا این روش دیگه جواب گو نیست درسته؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 در 5 دقیقه قبل، m4xs051 گفته است : نکته اول: این جدول و پنل تنظیم پلاگین نیست و کدها داره تو فایل فانکشن قالب اضافه میشه. نکته دوم: تو فرانت سایت چطوری این مقادیر رو باید بخونم. قبلا که ثبت اطلاعات رو با وردپرس انجام میدادم توسط get_option دیتا هایی که ست شده بود رو میخوندم و تو فرانت سایت نمایش میدادم ولی حالا ظاهرا این روش دیگه جواب گو نیست درسته؟ فانکشن قالب هم مثل یه پلاگین میمونه مشکلی نداره. با همون get_option 1 نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 در 4 دقیقه قبل، mehran-b گفته است : فانکشن قالب هم مثل یه پلاگین میمونه مشکلی نداره. با همون get_option خیلی ممنون. طبق راهنمایی که کردی مهران جان انجام میدم نتیجه اش رو اعلام میکنم. نقل قول لینک به ارسال
sajad 731 ارسال شده در فروردین 97 مالک گزارش بازنشر ارسال شده در فروردین 97 @mehran-b یک سوال: ممکنه یه سطر اضافه بشه و سه تا چک باکس و یا همه چک باکس ها براش خورده بشه. و ممکن هم هست که فقط یکی از این چک باکس ها تیک دار بشه. سوالی که پیش میاد اینه که چطوری چک کنم از این 4 تا چک باکس کدوم تیک دار شده یا نه. این کد نوشتم ولی فکر میکنم مشکل داره: if(isset($_POST['field'] && $_POST['planone'] || $_POST['plantwo'] || $_POST['planthree'] || $_POST['planfour'] )){ price_table_update_option(); } این هم کد html هست که بر این اساس سایر سطرها با این الگو درست میشن: <div class="field"><span>سطر:[0]</span> <input name="filed[0]"> <label for="planone[0]">پلن یک ماهه</label> <input name="planone[0]" id="planone[0]" type="checkbox"> <label for="plantwo[0]">پلن سه ماه</label> <input name="plantwo[0]" id="plantwo[0]" type="checkbox"> <label for="planthree[0]">پلن شش ماهه</label> <input name="planthree[0]" id="planthree[0]" type="checkbox"> <label for="planfour[0]">پلن یک ساله</label> <input name="planfour[0]" id="planfour[0]" type="checkbox"> <span class="add">افزودن</span> </div> نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 حرکتت اشتباهه باید کلا روی یه کلید مانور بدی. در اصل باید آرایه رو دو بعدی کنی. <div class="field"><span>سطر:[0]</span> <input name="filed[0][text]"> <label for="filed[0][1m]">پلن یک ماهه</label> <input name="filed[0][1m]" id="filed[0][1m]" type="checkbox"> <label for="filed[0][3m]">پلن سه ماه</label> <input name="filed[0][3m]" id="filed[0][3m]" type="checkbox"> <label for="filed[0][6m]">پلن شش ماهه</label> <input name="filed[0][6m]" id="filed[0][6m]" type="checkbox"> <label for="filed[0][12m]">پلن یک ساله</label> <input name="filed[0][12m]" id="filed[0][12m]" type="checkbox"> <span class="add">افزودن</span> </div> 1 نقل قول لینک به ارسال
nobati.co 3 ارسال شده در فروردین 97 گزارش بازنشر ارسال شده در فروردین 97 راحت ترین راهش اینه که شما از Option Tree استفاده کنید نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .