رفتن به مطلب

زمینه دلخواه پیشرفته شرطی


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

سلام جست و جو کردم یه چند تا پست دیدم ولی چیزی نفهمیدم!سئوالم درباره افزونه Advanced Custom Fields هست.

من دو تا زمینه دلخواه تعریف کردم یکی Source و دیگری linkSource

حالا اومدم مقدار پیشفرضم براشون تعیین کردم (توی فیلد های افزونه هست) اما مشکلش اینه که وقتی تو پیشفرض میزارم برای مطالب قبلی کار نمیکنه یعنی پست هایی که قبلا نوشته بودم لینک پیشفرض واردشون نمیشه حتما باید یک بار سیو کنم یا اگرم از فیلد های متاباکس مقادیر پیشفرض رو پاک کنم توی وبسایت نشون داده نمیشه

حالا چند تا یه شرط میخوام که اگه

مقدار زمینه داخواه خالی بود و چیزی وارد نشده بود x رو نشون بده (مثلا اگه منبع خالی بود منبع رو وبسایت خودم بزنه) و همچنین برای لینک

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


<span>منبع: </span> <a href="<?php the_field('linkSource') ?>"><?php the_field('Source') ?></a>

حالا برای جعبه دانلودم یه همچین مشکلی دارم میخوام:

2 - اگه مقدار خالی بود کلا یه باکس رو نشون نده (مثلا اگه لینک دانلود نداشت کل جعبه دانلود رو نشون نده)

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

همونطوری که گفتم میخوام اگه مقدار linkdl خالی بود کل جعبه دانلود رو نشون نده


<div class="dl-box">
<div class="ggbox1"><i class="fa fa-download" style="margin-left:5px;"></i>
<div class="dltext" style="display: inline-block;">دانلود باکس</div>
</div>
<div class="bottom bottom1">
<ul>
<li><a href="<?php the_field('linkdl') ?>"> دانلود با لينک مستقيم </a>
</li>
<li><a> حجم:<?php the_field('sizedl') ?> </a>
</li>
<li><a> رمز :rayatar.ir</a>
</li>
<li><a>توضيحات: <?php the_field('desdl') ?></a>
</li>
</ul>
<div class="clear"></div>
</div>
</div>

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

ببخشید اسپم میدم ولی عجله دارم حدود یک روز هم گذشته :(

اگه کسی از دوستان میدونه لطفا راهنمایی کنه ;)

لینک به ارسال

از get_field استفاده کنید و شرط قرار دهید

در مورد نحوه قرار دادن شرط قبلا بحث شده

http://www.advancedcustomfields.com/resources/get_field/

لینک به ارسال

می تونید از ساختار زیر استفاده کنید


<?php if(get_post_meta($post->ID, "rokesh", true)) {?>
...
<?php } else {?>
...
<?php }?>

برای افزونه ACF هم به جای تابع get_post_meta می تونید از تابع get_field استفاده کنید.

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

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

الان مشکل این کد ها چیه ارور میده تو قالب


<?php
if(get_field('Source'))
{
echo "<span>منبع: </span> <a href="<?php the_field('linkSource') ?>"><?php the_field('Source') ?></a>";
else "<span>منبع: </span> <a href="http://rayatar.ir/">رایاتار</a>"
}
?>

لینک به ارسال

الان مشکل این کد ها چیه ارور میده تو قالب


<?php
if(get_field('Source'))
{
echo "<span>منبع: </span> <a href="<?php the_field('linkSource') ?>"><?php the_field('Source') ?></a>";
else "<span>منبع: </span> <a href="http://rayatar.ir/">رایاتار</a>"
}
?>

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


<?php
$value = get_field( "text_field" );

if( $value ) {

echo $value;

} else {

echo 'empty';

}
?>

این هم برای جعبه دانلود (اگه زمینه linkdl خالی باشه جعبه دانلود رو نشون نمی ده):


<?php if ( get_field('linkdl') ) : ?>
<div class="dl-box">
<div class="ggbox1"><i class="fa fa-download" style="margin-left:5px;"></i>
<div class="dltext" style="display: inline-block;">دانلود باکس</div>
</div>
<div class="bottom bottom1">
<ul>
<li><a href="<?php the_field('linkdl') ?>"> دانلود با لينک مستقيم </a>
</li>
<li><a> حجم:<?php the_field('sizedl') ?> </a>
</li>
<li><a> رمز :rayatar.ir</a>
</li>
<li><a>توضيحات: <?php the_field('desdl') ?></a>
</li>
</ul>
<div class="clear"></div>
</div>
</div>
<?php endif; ?>

لینک به ارسال

من اینکونه هم قرار دادم منبع رو اما کار نکرد بازم ارور syntax داد!


<?php
$value = get_field( "Source" );
if( $value ) {

echo '<span>منبع: </span> <a href="<?php the_field('linkSource') ?>"><?php the_field('Source') ?></a>';
} else {
echo '<span>منبع: </span> <a href="http://rayatar.ir">رایاتار</a>';

}
?>

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

من اینکونه هم قرار دادم منبع رو اما کار نکرد بازم ارور syntax داد!


<?php
$value = get_field( "Source" );
if( $value ) {

echo '<span>منبع: </span> <a href="<?php the_field('linkSource') ?>"><?php the_field('Source') ?></a>';
} else {
echo '<span>منبع: </span> <a href="http://rayatar.ir">رایاتار</a>';

}
?>

مشکل کدهاتون اینه که داخل php دوباره از تگ php استفاده شده


<?php
$value = get_field( "Source" );
if( $value ) {

echo '<span>منبع: </span> <a href="'.get_field('linkSource').'">'.get_field('Source').'</a>';
} else {
echo '<span>منبع: </span> <a href="http://rayatar.ir">رایاتار</a>';

}
?>

لینک به ارسال

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

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

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

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

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

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

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

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

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