رفتن به مطلب

تبدیل کدهای html به محتوا هنگام فراخوانی پیوند یکتا


Milad123

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

سلام

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


<?php $mid_var = get_post_meta($post->ID, 'serial1',true);if(isset($mid_var) && !empty($mid_var)) : ?>
<li><?php echo get_post_meta($post->ID, 'serial1',true); ?></li>
<?php endif;?>

منتها مشکلش اینه که وقتی مثلا داخل این زمینه کد html قرار میدیم، میاد همون کد رو داخل پست فراخوانی میکنه!

چه تغییری باید اعمال شه که کد رو تبدیل کنه و محتوای نهایی رو فراخوانی کنه؟

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

متوجه نشدم منظورتون چیه

بیشتر توضیح بدین

لینک به ارسال

متوجه نشدم منظورتون چیه

بیشتر توضیح بدین

ببینید مثلا من میام داخل این زمینه دلخواه همچین کدی قرار میدم :


<a href="link" target="_blank">دانلود قسمت اول (720p)</a>

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

اما داخل پست بجای اینکه بیاد لینک دانلود رو نمایش بده، عیناً همین کد رو نمایش میده!

لینک به ارسال

اوکی - این صفحه رو بخون

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

تبدیل کدهای html به محتوا هنگام فراخوانی پیوند یکتا = تبدیل کدهای html به محتوا هنگام فراخوانی در پست

عنوان درست اینه، من الان دیدم اشتباه نوشتم :D

دوستان کسی نمیدونه راهنمایی کنه؟؟

لینک به ارسال

سلام

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


<?php $mid_var = get_post_meta($post->ID, 'serial1',true);if(isset($mid_var) && !empty($mid_var)) : ?>
<li><?php echo get_post_meta($post->ID, 'serial1',true); ?></li>
<?php endif;?>

منتها مشکلش اینه که وقتی مثلا داخل این زمینه کد html قرار میدیم، میاد همون کد رو داخل پست فراخوانی میکنه!

چه تغییری باید اعمال شه که کد رو تبدیل کنه و محتوای نهایی رو فراخوانی کنه؟

ببینید ، این کد ضمینه دلخواه شما شرط if داره .

در صورتی که شما متنی درون زمینه دلخواه بدید ، دستور داخل شرط اجرا میشه .

و اگر خالی باشه ، اجرا نمیکنه .

اگر میخواید همیشه کد html درون شرط نمایش داده بشه ، کلا شرط رو حذف کنید و از کد زیر استفاده کنید :


<li><?php echo get_post_meta($post->ID, 'serial1',true); ?></li>

و در واقع کد شرطش رو حذف کنید :


<?php $mid_var = get_post_meta($post->ID, 'serial1',true);if(isset($mid_var) && !empty($mid_var)) : ?>

<?php endif;?>

موفق باشید .

لینک به ارسال
  • 3 هفته بعد...

ببینید ، این کد ضمینه دلخواه شما شرط if داره .

در صورتی که شما متنی درون زمینه دلخواه بدید ، دستور داخل شرط اجرا میشه .

و اگر خالی باشه ، اجرا نمیکنه .

اگر میخواید همیشه کد html درون شرط نمایش داده بشه ، کلا شرط رو حذف کنید و از کد زیر استفاده کنید :


<li><?php echo get_post_meta($post->ID, 'serial1',true); ?></li>

و در واقع کد شرطش رو حذف کنید :


<?php $mid_var = get_post_meta($post->ID, 'serial1',true);if(isset($mid_var) && !empty($mid_var)) : ?>

<?php endif;?>

موفق باشید .

سلام مجدد

متاسفانه با این راهکار هم مشکل رفع نشد و همچنان کدها رو نمایش میده بجای نمایش محتوا!!!!

لینک به ارسال

ببینید وقتی از افزونه "زمینه دلخواه پیشرفته" استفاده میکنیم، اگر زمینه دلخواهی با نام download_links داشته باشیم، اطلاعات داخل این زمینه دلخواه با همچین کدی داخل پست فراخوانی میشه :


<?php echo get_field('download_links'); ?>

حالا مثلا اگه ما موقع ارسال پست بیاییم داخل این زمینه دلخواه این کد رو وارد کنیم :


<a href="http://site.com">Link</a>

چیزی که داخل پست فراخوانی میشه کلمه ی Link هستش که لینک شده به این آدرس : http://site.com

اما الان، ما اگر بیاییم داخل زمینه دلخواه خودمون این کد رو قرار بدیم :


<a href="http://site.com">Link</a>

چیزی که داخل پست فراخوانی میشه عیناً همین کده!!

لینک به ارسال

سلام. ببینید وردپرس در حالت پیشفرض فیلدها رو سانیتیز میکنه یعنی کاراکترهای خاصی مثل < رو میاد به یه کد معادل تبدیل می کنه که شبیه قبلیه ! ولی اون کاراکتر قبلی نیست. تفاوتشم اینه که مرورگر و موتور php این کاراکتر رو نمیشناسن.

حالا برای رفع مشکل شما دو راه دارید یا این که مقدار لینک و لیبلش رو بگیرید و بعدا مقادیرشونو توی دستورات html اکو کنید. یا این که بیایید از همون افزونه advanced custome field استفاده کنید و امکان نمایش کدهای html رو توی فیلد ها فعال کنید.

در مورد سانیتیز کردن هم که چی هست می تونید اینجا مطالعه کنید:

https://codex.wordpress.org/Function_Reference/sanitize_text_field

لینک به ارسال

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

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

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

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

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

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

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

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

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