رفتن به مطلب

چگونه یک مقدار از چند مقدار متای چک باکس رو نمایش بدم؟


پست های پیشنهاد شده

سلام

من با کمک افزونه چند متای چک‌باکس برای کاربری تعریف کردم. از کد زیر برای نمایش در پوسته بهره می‌گیرم:

echo get_the_author_meta('my_field', $author_id);

ولی هنگامی که می‌خوام در پوسته نشونش بدم به شکل آرایه‌ای میاره. یعنی اینجوری

مقدار 1| مقدار 2| مقدار 3|

مشکل من اینه که می‌خوام با نمایش هر مقدار یک چیزی توی بخش کاربری رخ بده. برای نمونه کاربر هر سه چک‌باکس رو تیک زده و هر سه مقدار در آرایه متا هست. با وجود " مقدار 1 " اون رو جداگانه با یک جمله نمایش بده. با وجود " مقدار 2 " باز هم جداگانه و با یک جمله نشون بده و... . به عبارتی به شکل زیر:
 

نقل قول

 

* مقدار 1

{ جمله‌ای که با وجود مقدار 1 نمایش داده می‌شود }

* مقدار 2

{ جمله‌ای که با وجود مقدار 2 نمایش داده می‌شود }

* مقدار 3

{ جمله‌ای که با وجود مقدار 3 نمایش داده می‌شود }

 

چی کار باید کنم؟

ممنون برای کمک

لینک به ارسال
$field = get_user_meta($author_id, 'my_field');
$field = $field[0];
if(!empty($field[1])) { 
//جمله اول
}
if(!empty($field[2])) { 
//جمله دوم
}
if(!empty($field[3])) { 
//جمله سوم
}

 

لینک به ارسال
در 4 ساعت قبل، imanfakhar گفته است :

$field = get_user_meta($author_id, 'my_field');
$field = $field[0];
if(!empty($field[1])) { 
//جمله اول
}
if(!empty($field[2])) { 
//جمله دوم
}
if(!empty($field[3])) { 
//جمله سوم
}

 

سلام

ممنون استاد فخار

این کد در هر حال چه کاربر تیک زده باشه و چه نزده باشه جمله‌ها رو نمایش می‌ده.

لینک به ارسال

فیلدها چک باکسند؟

اگر فیلدهاتون چک باکسند مشکل به اکشن فرمتون مربوط می شه 

اکشن ذخیره تون رو بگذارید اینجا

در ضمن اینکار نیاز چندانی به افزونه هم نداره علت استفاده از افزونه و اسم افزونه تون رو هم بفرمایید.

لینک به ارسال

فیلدها چک باکس هستن

نام افزونه WP User Frontend

به خاطر این که بتونم فیلدمتا برای کاربر به همراه امکان ویرایش از Frontend رو فراهم کنم. به عبارتی نمی‌خوام کاربر بره به backend.

لینک به ارسال

 

در 19 ساعت قبل، imanfakhar گفته است :

فیلدها چک باکسند؟

اگر فیلدهاتون چک باکسند مشکل به اکشن فرمتون مربوط می شه 

اکشن ذخیره تون رو بگذارید اینجا

در ضمن اینکار نیاز چندانی به افزونه هم نداره علت استفاده از افزونه و اسم افزونه تون رو هم بفرمایید.

از دستور foreach هم به همراه شرط‌هایی که گفتید رو هم گذاشتم خالی میاره.

کلافه‌م کرده :(

لینک به ارسال
در 23 دقیقه قبل، DariushGreat گفته است :

اکشن ذخیره تون رو بگذارید اینجا

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

لینک به ارسال
در 1 ساعت قبل، imanfakhar گفته است :

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

اکشن مورد نظر رو از کجا باید برداشت کنم؟

ممنون

لینک به ارسال

گر خودتون ننوشتید حتما افزونه تون نوشتتش 

نشانی آنلاین فرمتون رو بگذارید

 

لینک به ارسال
در 2 ساعت قبل، imanfakhar گفته است :

گر خودتون ننوشتید حتما افزونه تون نوشتتش 

نشانی آنلاین فرمتون رو بگذارید

 

فرم مربوط به ویرایش کاربری هست

اطلاعات لازم رو براتون پیغام کردم

لینک به ارسال

پیغامی به من نرسیده 

نیازی به پیغام هم نیست از صفحه سورس کد بگیرید کد بخشی که مربوط به فیلدهاتون رو بگذارید فقط می خوام مقدارهای name  و value اون چک باکس ها را ببینم 

لینک به ارسال
در 6 ساعت قبل، imanfakhar گفته است :

پیغامی به من نرسیده 

نیازی به پیغام هم نیست از صفحه سورس کد بگیرید کد بخشی که مربوط به فیلدهاتون رو بگذارید فقط می خوام مقدارهای name  و value اون چک باکس ها را ببینم 

سلام

بفرمایید:

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="بازرگانی" checked="checked" />
  بازرگانی                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="بهره‌بردار" checked="checked" />
  بهره‌بردار                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="پیمانکار" />
  پیمانکار                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="تشکل‌ها" />
  تشکل‌ها                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="تولیدکنندگان" />
  تولیدکنندگان                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="دانش‌بنیان" />
  دانش‌بنیان                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="شرکت‌های خارجی" />
  شرکت‌های خارجی                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="فروشگاه‌ها" />
  فروشگاه‌ها                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="کارفرما" />
  کارفرما                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="مشاور" />
  مشاور                    </label>

<label>
  <input type="checkbox" class="wpuf_work_field_1153" name="work_field[]" value="دیگر شرکت‌ها" />
  دیگر شرکت‌ها                    </label>

 

لینک به ارسال

سلام دوستان

بالاخره پس از کلی تلاش راه حل مشکل رو پیدا کردم :)

$user_meta = get_the_author_meta('my_field', $author_id);
$my_array = explode('| ', $user_meta);

if (is_array($my_array)) {
	if($my_array[0]){
		echo 'جمله 1<br />';
	}
	if($my_array[1]) {
		echo 'جمله 2<br />';
	}
	if($my_array[2]) {
		echo 'جمله 3';
	}

کدها گویا هستن. تابع explode در php که کارش تبدیل رشته نوشتاری به آرایه هست و شروط وجود آرایه و درایه های اون :D

امیدوارم به کار شما هم بیاد ;)

لینک به ارسال

اصلاحیه

کدی که در نوشته پیشین نوشتم یک نقص داره و اونم اینه که اگر به هر روشی درایه‌های آرایه جابجا بشن، شرط‌ها محتویات اشتباه نشون می‌دن!

کد اصلاحیه:

$user_meta = get_the_author_meta('my_field', $author_id);
$my_array = explode('| ', $user_meta);

if (is_array($my_array)) {
	if(in_array('واژه 1', $my_array)){
		echo 'جمله 1<br />';
	}
	if(in_array('واژه 2', $my_array)) {
		echo 'جمله 2<br />';
	}
	if(in_array('واژه 3', $my_array)) {
		echo 'جمله 3';
	}

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

فعلا کامل‌ترین کدی که دست پیدا کردم همینه؛ اگر بتونم به کدهای بهینه‌تری برسم خواهم گذاشت.

ویرایش شده توسط DariushGreat
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...