رفتن به مطلب
miraziz

ایجاد شرط برای php در بلاک ها

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

سلام. دوستان کد زیر به صورتی است که وقتی من بلاکی را هنگام نوشتن اضافه می‌کنم می توانم مقادیری را وارد کنم. (مانند عکس انتهای متن)
ولی اگر دقت کنید می‌بینید که من در کدها کلمه‌ی «ترجمه از» را وارد کرده ‌ام. ولی مشکلی که دارد این است که وقتی من مقداری برای poet-translator وارد نمی‌کنم باز کلمه «ترجمه از» را در خروجی نوشته نشان می‌دهد. میشه این مورد را شرطی کرد؟ بدین شرح که اگر مقدار poet-translator نوشته شود در ابتدایش کلمه‌ی «ترجمه از» هم اضافه شود.
من چون چندان به php آشنا نیستم خواستم از دوستان مشورت بگیرم

<div class="sing-block">
   <a href="http://echolalia.ir/"><h1>اکولالیا</h1></a>
   <h2> | <?php block_field( 'poet-name' ); ?></h2>
   <h3> ترجمه از<?php block_field( 'translator-name' ); ?></h3>
   <h3><?php block_field( 'book-name' ); ?></h3>
</div>

5c40e18a2b87e_Screenshot(130).png.b7fb344862b5cbc07393707d414e575c.png

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


لینک به ارسال

سلام 

این کد رو تست کنید

if ( isset(block_field( 'translator-name' )) ){
 echo 'ترجمه از : ';
}

البته بهتره به جای isset شما از empty استفاده کنید

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

ویرایش شده توسط sindots

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


لینک به ارسال
در در 1/18/2019 at 11:56، sindots گفته است :

سلام 

این کد رو تست کنید


if ( isset(block_field( 'translator-name' )) ){
 echo 'ترجمه از : ';
}

البته بهتره به جای isset شما از empty استفاده کنید

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

سلام. ممنون از پاسختان. فقط من کد شما را دقیقا به چه شکل درون کدهای خودم قرار بدم؟ چون از php تقریبا هیچ نمی‌دونم :(

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


لینک به ارسال

سلام

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

<?php if ( ! empty(block_field( 'translator-name' )) ){
 echo 'ترجمه از : ';
} ?>

خواهش میکنم

ویرایش شده توسط sindots

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


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

سلام

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

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

5c46e5cd15d95_Screenshot(131).png.e93e61e4bc0b7e9f2c6d470cbaccc732.png

اگر جسارت نباشد فقط یک سوال دیگری هم داشتم. آیا امکان دارد این کد را به نوعی تغییر داد که «نام مترجم» لینک دارد شود و وقتی مخاطب بر روی آن کلیک می‌کند به آدرس زیر منتقل شود.

http://echolalia.ir/tag/احمد-پوری/

در واقع لینک زیر ثابت خواهد بود و فقط بعد از کلیک کردن نام مترجم به انتهای آن اتوماتیک اضافه میشه

http://echolalia.ir/tag/

 

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


لینک به ارسال

خواهش میکنم

بطور کلی کدی که بهتون دادم رو بهمراه  <?php block_field( 'translator-name' ); ?> پاک کنید و کد زیر رو جایگزین کنید

<?php 
$translator_name_option = '';
if ( ! empty(block_field( 'translator-name' )) ){
  $translator_name_option .= '<a href="http://echolalia.ir/tag/احمد-پوری/" title="'. block_field( 'translator-name' ) .'">';
  $translator_name_option .= 'ترجمه از : ' . block_field( 'translator-name' );
  $translator_name_option .= '</a>';
  echo $translator_name_option;
} 
?>

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

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


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

خواهش میکنم

بطور کلی کدی که بهتون دادم رو بهمراه  <?php block_field( 'translator-name' ); ?> پاک کنید و کد زیر رو جایگزین کنید

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

خیلی ممنون. زحمتتان میدهم.
این کد را قرار دادم و نتیجه مانند تصویر زیر شد.

5c46eb4b19ea4_Screenshot(133).png.ae6492fd071fb470d391803780597918.png

این بار من نام مترجم را «علی حسینی» وارد کردم. دو تا مشکل داشت.
1- قبل از «ترجمه از» سه بار نام مترجم را تکرار می‌کند.
2- کلمه ی «ترجمه از» نیز لینک‌دار شده است. می‌خواستم فقط خود نام مترجم (یعنی «علی حسینی») لینک‌دار شود.
3- وقتی بر روی نام مترجم کلیک می‌کنم، باز به لینک زیر هدایت میشه

http://echolalia.ir/tag/احمد-پوری/

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

http://echolalia.ir/tag/علی-حسینی/

 

ویرایش شده توسط miraziz

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


لینک به ارسال

از طریق این کد دیگه نباید مشکل بوجود بیاد

اگرهم اومد شما ببخشید :)

	  <?php
	  if ( ! empty( block_field( 'translator-name' ) ) ) {
		  $translator_words       = block_field( 'translator-name' );
		  $translator_url         = ucwords( str_replace( " ", "-", $translator_words ) );
		  $translator_name_option .= 'ترجمه از : ';
		  $translator_name_option .= '<a href="http://echolalia.ir/tag/' . $translator_url . '">';
		  $translator_name_option .= $translator_words;
		  $translator_name_option .= '</a>';
		  echo $translator_name_option;
	  }
	  ?>

خودم تست کردم تصویر پیوست رو ببینید

translator-name.png

ویرایش شده توسط sindots

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


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

از طریق این کد دیگه نباید مشکل بوجود بیاد

اگرهم اومد شما ببخشید :)

خودم تست کردم تصویر پیوست رو ببینید

خیلی ممنون. شما ببخشید که زحمتتان می‌دهم/ الان کد آخری را تست کردم. همه چیز عالی است.فقط باز اون تکرار نام مترجم هست. جالب این است که قبلا سه بار تکرار می‌شد ولی الان دور بار. شما نمی دونید از چی میتونه باشه :(
5c46f79204ae9_Screenshot(135).png.90074e1e3979fa558cf6963f432b6739.png
این کل کدهای آن بلاک است

<div class="sing-block">
   <h1><a href="http://echolalia.ir/">اکولالیا</a></h1>
   <a> | </a><h2><?php block_field( 'poet-name' ); ?></h2>
   <h3>	  <?php
	  if ( ! empty( block_field( 'translator-name' ) ) ) {
		  $translator_words       = block_field( 'translator-name' );
		  $translator_url         = ucwords( str_replace( " ", "-", $translator_words ) );
		  $translator_name_option .= 'ترجمه از : ';
		  $translator_name_option .= '<a href="http://echolalia.ir/tag/' . $translator_url . '">';
		  $translator_name_option .= $translator_words;
		  $translator_name_option .= '</a>';
		  echo $translator_name_option;
	  }
	  ?></h3>
   <h3><?php block_field( 'book-name' ); ?></h3>
</div>

 

ویرایش شده توسط miraziz

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


لینک به ارسال

خواهش میکنم

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

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


لینک به ارسال

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

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

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

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

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

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

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

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


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