41 پست در این موضوع قرار دارد

سلام 
این کد رو وقتی تو یکی از فایل های قالب میزارم دائم خطا میده و به قورایچ گیر میده! میشه راهنمایی کنید؟!

 

<hr> 
  <?php $name_family_dr = get_post_meta($post->ID, 'name_family_dr', false); ?> 
      <strong> نام خانوادگی :</strong> 
      <ul> 
          <?php foreach($name_family_dr as $name_family_dr) { 
              echo '<li>'.$name_family_dr.'</li>'; 
              } ?> 
      </ul>  
<hr>   
      <?php $Expertise = get_post_meta($post->ID, 'Expertise', false); ?> 
    <strong>تخصص :</strong> 
      <ul> 
          <?php foreach($Expertise as $Expertise) { 
              echo '<li>'.$Expertise.'</li>'; 
              } ?> 
      </ul> 
<hr>

 

فایل php رو هم پیوست میکنم اگه میتونید ممنون میشم راهنمایی کنید.

 

content.txt

0

به اشتراک گذاری این پست


لینک به پست

سلام و درود

 

دقیقا چه خطایی میده؟

1

به اشتراک گذاری این پست


لینک به پست

با سلام و احترام در اجرای دستور foreach وقتی مقدار رو میدید مثلا $Expertise بعد از as باید یک نام دیگری باشه که معمولا مثل زیر میباشد 

foreach($names as $name)

 

2

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 47 دقیقه قبل، naghmesara گفته است :

سلام و درود

 

دقیقا چه خطایی میده؟

ممنون دوست عزیز

فقط به همین خطی که حلقه فورایچ هست خطا میگیره و هیچ پیغام دیگه ای نمیده!

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

ویرایش شده در توسط m4xs051
0

به اشتراک گذاری این پست


لینک به پست
در 45 دقیقه قبل، Fenix.ir گفته است :

با سلام و احترام در اجرای دستور foreach وقتی مقدار رو میدید مثلا $Expertise بعد از as باید یک نام دیگری باشه که معمولا مثل زیر میباشد 


foreach($names as $name)

 

ممنون دوست عزیز

به این روش هم امتحان کردم ولی باز هم خطا میده به لاینی که فورایچ تعریف شده.

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

0

به اشتراک گذاری این پست


لینک به پست
<hr> 
  <?php $name_family_dr = get_post_meta($post->ID, 'name_family_dr', false); ?> 
      <strong> نام خانوادگی :</strong> 
      <ul> 
          <?php foreach($name_family_dr as $name_family) { 
              echo '<li>'.$name_family.'</li>'; 
              } ?> 
      </ul>  
<hr>   
      <?php $Expertise = get_post_meta($post->ID, 'Expertise', false); ?> 
    <strong>تخصص :</strong> 
      <ul> 
          <?php foreach($Expertise as $E) { 
              echo '<li>'.$E.'</li>'; 
              } ?> 
      </ul> 
<hr>

کد بالا رو تست بزنید 

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست
در 25 دقیقه قبل، Fenix.ir گفته است :

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

ممنون کد فوق رو تست کردم ولی باز هم خطا دارم. این متن خطا:

Warning: Invalid argument supplied for foreach() 

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

0

به اشتراک گذاری این پست


لینک به پست

لطفا از دیتا خودتون یک var_dump ارسال کنید 

0

به اشتراک گذاری این پست


لینک به پست
در 9 دقیقه قبل، Fenix.ir گفته است :

لطفا از دیتا خودتون یک var_dump ارسال کنید 

ببخشید منظورتون رو متوجه نمیشم.

کلیت کاری که انجام دادم اینه: 

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

همین کد تو قالب دوهزارپانزده وردپرس کار میکنه اما تو قالبی که خریدم و استفاده میکنم خطا میده.

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

دوست عزیز متوجه نمیشم چه ربطی به قالب شما داره شما الان دیتاتون احتمالا مشکل داره مثلا string هست شاید که خوب خطا میخوره 

var_dump(get_post_meta($post->ID, 'name_family_dr', false));

 

ویرایش شده در توسط Fenix.ir
0

به اشتراک گذاری این پست


لینک به پست
در 13 دقیقه قبل، Fenix.ir گفته است :

دوست عزیز متوجه نمیشم چه ربطی به قالب شما داره شما الان دیتاتون احتمالا مشکل داره مثلا string هست شاید که خوب خطا میخوره 


var_dump(get_post_meta($post->ID, 'name_family_dr', false));

 

 

var_dump رو تست کردم این شد خروجیش: 

bool(false)

دیتا هایی که از زمینه های دلخواه تو نوشته میگیره از نوع تکست هستن.

0

به اشتراک گذاری این پست


لینک به پست

اگر از نوع تکس باشه نمیشه با foreach استخراج کرد فور ایچ برای array میباشد یعنی همون دیتا لیست وار

شما برای استخراج این موارد بهتر است مثل کد زیر عمل کنید 

<hr> 
  <?php 
	$name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); 
	
  ?> 
      <strong> نام خانوادگی :</strong> 
      <ul> 
          <?= '<li>'.$name_family_dr.'</li>' ?> 
      </ul>  
<hr>   
      <?php $Expertise = get_post_meta(get_the_ID(), 'Expertise', true); ?> 
    <strong>تخصص :</strong> 
      <ul> 
        <?= '<li>'.$Expertise.'</li>'?> 
      </ul> 
<hr>

 

1

به اشتراک گذاری این پست


لینک به پست
در 7 دقیقه قبل، Fenix.ir گفته است :

اگر از نوع تکس باشه نمیشه با foreach استخراج کرد فور ایچ برای array میباشد یعنی همون دیتا لیست وار

شما برای استخراج این موارد بهتر است مثل کد زیر عمل کنید 


<hr> 
  <?php 
	$name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); 
	
  ?> 
      <strong> نام خانوادگی :</strong> 
      <ul> 
          <?= '<li>'.$name_family_dr.'</li>' ?> 
      </ul>  
<hr>   
      <?php $Expertise = get_post_meta(get_the_ID(), 'Expertise', true); ?> 
    <strong>تخصص :</strong> 
      <ul> 
        <?= '<li>'.$Expertise.'</li>'?> 
      </ul> 
<hr>

 

ممنون عالی بود. مشکل برطرف شد.

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 30 دقیقه قبل، Fenix.ir گفته است :

اگر از نوع تکس باشه نمیشه با foreach استخراج کرد فور ایچ برای array میباشد یعنی همون دیتا لیست وار

شما برای استخراج این موارد بهتر است مثل کد زیر عمل کنید ...

 

یه سوال آخر:

الان این کدی که براتون پیوست میکنم مشکلش رو میشه ببینید چیه؟ 

<hr>
  <?php $name_family_dr = get_post_meta($post->ID, 'name_family_dr', true); ?>
  	<strong>نام و نام خانوادگی دکتر :</strong>
  	<ul>
        <?= '<li>'.$name_family_dr.'</li>'?> 
  	</ul> 
<hr> 

شبیه به نمونه کد شما اصلاح کردم ولی مقادیر رو برنمیگردونه و تو li ها خالی هست!هیچ خطایی دریافت نمیکنم.

ویرایش شده در توسط m4xs051
اصلاح کد پیوستی
0

به اشتراک گذاری این پست


لینک به پست

بهتره مقدار $post->ID به همان get_the_ID() تغییر کند

1

به اشتراک گذاری این پست


لینک به پست
در 7 دقیقه قبل، Fenix.ir گفته است :

بهتره مقدار $post->ID به همان get_the_ID() تغییر کند

مرسی:)

0

به اشتراک گذاری این پست


لینک به پست

یه سوال دیگه پیرامون همین موضوعی هست که برام پیش اومده:

میخوام تو دستورات چک کنم که اگه مقدار فیلد مشخص  شده تو زمان انتشار پر نشده دیگه عنوان تو خروجی چاپ نشه؟ یا ساده تر بخوام بگم اینه که هر فیلدی که مقدار اون ست شده بود رو تو خروجی نشون بده.

به طور مثال: نام و نام خانوادگی دکتر رو الا اگه زمانی که نوشته منتشر میشه وارد نکنیم تو خروجی داریم:

نام و نام خانوادگی دکتر: 

 

مرسی پیشاپش از همراهی دوستان همچنین @Fenix.ir  عزیز.

 

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

درود مجدد

 

مثلا به این شکل:

<?php
$name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true);
if(isset($name_family_dr)) {
 // اگر وارد شده بود اینجا نشون داده میشه
}

در کد بالا تابع isset چک میکنه که متغییر name_family_dr خالی هست یا خیر اگر خالی نبود true رو برمیگردونه در نتیجه چیزی که درون if نوشتین اجرا میشه.

 

موفق باشید

ویرایش شده در توسط naghmesara
1

به اشتراک گذاری این پست


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

درود مجدد

 

مثلا به این شکل:


<?php
$name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true);
if(isset($name_family_dr)) {
 // اگر وارد شده بود اینجا نشون داده میشه
}

در کد بالا تابع isset چک میکنه که متغییر name_family_dr خالی هست یا خیر اگر خالی نبود true رو برمیگردونه در نتیجه چیزی که درون if نوشتین اجرا میشه.

 

موفق باشید

ممنون دوست عزیز بابت پاسخگویی لطف کردی...

نمونه کد رو با توجه به توضیحاتی که شما دادی اصلاح کردم ولی اجرا که میکنم کلا هیچی بالا نمیاد دیگه!

این نمونه کد هست:

<?php $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
  <?= if(isset($name_family_dr)) { '<li>'.$name_family_dr.'</li>' } ?>
</div>

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

0

به اشتراک گذاری این پست


لینک به پست
<?php $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
  <?php if(isset($name_family_dr)) { echo '<li>'.$name_family_dr.'</li>'; } ?>
</div>

 

2

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

درود مجدد

 

<?php $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
  <?php if(isset($name_family_dr))
	echo '<li>'.$name_family_dr.'</li>';
  ?>
</div>

کد بالا رو تست کنید باید اجرا بشه.

وقتی از

<?=

استفاده میکنید یعنی میخواید echo کنید در حالی که if رو نمیشه echo کرد.

 

موفق باشید

ویرایش شده در توسط naghmesara
1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 3 ساعت قبل، naghmesara گفته است :

درود مجدد

 


<?php $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
  <?php if(isset($name_family_dr))
	echo '<li>'.$name_family_dr.'</li>';
  ?>
</div>

کد بالا رو تست کنید باید اجرا بشه.

وقتی از


<?=

استفاده میکنید یعنی میخواید echo کنید در حالی که if رو نمیشه echo کرد.

 

موفق باشید

ممنون دوست عزیز ;)

کد رو اجرا کردم خروجیش تو عکسی که پیوست میکنم هست.

با این که مقدار خالی گذاشتم فیلد مربوطه رو ولی باز هم تو خروجی چاپ شد.

596c85b77eb11_ScreenShot2017-07-17at14_09_29.png.f43b19c6d55842789a8748f60354b64c.png

 

درصورتی که الان هیچی دیگه نباید نشون بده نه نام و نام خانوادگی و نه نقطه پایین!

ویرایش شده در توسط m4xs051
0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

خوب شما اون بخش نام و نام خانوادگی دکتر هم باید بذارید توی if به شکل زیر:

 

<? $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true);
if(isset($name_family_dr)) : ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
<?= '<li>'.$name_family_dr.'</li>'; ?>
</div>
<? endif; ?>

 

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست
در 3 ساعت قبل، Fenix.ir گفته است :

<?php $name_family_dr = get_post_meta(get_the_ID(), 'name_family_dr', true); ?>
<h4 class="w-iconbox-title">نام و نام خانوادگی دکتر :</h4>
<div class="w-iconbox-text">
  <?php if(isset($name_family_dr)) { echo '<li>'.$name_family_dr.'</li>'; } ?>
</div>

 

ممنون که پاسخگو هستین.

این کد رو هم اجرا کردم دقیقا خروجیش مثل کد این دوستمون @naghmesara شد.

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری