قرار دادن شورت کد داخل کد php

خانه / وبلاگ / آموزش وردپرس / قرار دادن شورت کد داخل کد php
3.2 / 5
5
Put the code shortcodes inside the phpقرار دادن شورت کد داخل کد php code

قرار دادن شورت کد داخل کد php

3.2 / 5
5

شورت کد از نسخه ۲٫۵ به بعد به وردپرس افزوده شده اند و میتوان از آنها در جاهای مختلف برای موارد بسیاری استفاده کرد شورت کدها در بسیاری از تمها باعث به نمایش گذاشتن انواع ویژگی ها می شوند . در واقع شورت کد به شما امکان نوشتن کد های قالب و افزونه ها را در نوشته ها و برگه های سایت خواهد داد .  شورت کد ها درون وب سایت های وردپرسی  دارای قابلیت استفاده بسیاری هستند و به راحتی می توانند در همه قسمت های سایت قرار گیرند . shortcode که به فارسی به آنها کد کوتاه گفته می شود و به شکل [shortcode name] نوشته می شود در بین دو کاراکتر [ ] قرار می گیرد و دارای کاربرد های بسیاری است .

به طور کلی شورت کدها (shortcode) تگهای بین متنی هستند که توابعی برای آنها تعریف شده است . شورت کد (Shortcode) یک ویژگی برای قرار دادن محتویات در نوشته یا برگه ها به صورت برنامه نویسی شده است . شورت کد ها زمانی کار می کنند که اختصاصا درون نوشته ها یا برگه قرار بگیرند .

چگونگی گذاشتن shortcode در داخل کدهای php

با این همه نکته مهم در قرار دادن شورت کد ها درون کد های قالب و یا کد های  php است ما به راحتی می توانیم از این شورت کد ها به طور مستقیم در قالب خود بهره بگیریم حال برای گذاشتن shrtcode بین کدهای php قالب باید شورت کد مورد نظر خود را به صورت زیر بین کدهای php قالب وردپرس خود قرار دهید  :

<?php echo do_shortcode("[your-shortcode]"); ?>

سپس در قسمت your-shortcode باید شورت کد مورد نظر خود را قرار داده تا بدون هیچ مشکلی در سایت به نمایش درآید .

چگونگی ساخت شورت کد اختصاصی

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

add_shortcode('myshortcode','get_myshortcode');
function get_myshortcode(){
return 'hello wordpress';
}

تا به اینجا شورت کد مورد نظر myshortcode است که اگر آن را داخل ارسال مطلب ، به این صورت قرار دهید ، کلمه hello را به نمایش میگذارد . در تابع زیر شما می توانید عملگر خاص خود را برای نمایش قرار دهید .

[myshortcode][/myshortcode]

البته همچنین شما می توانید برای shortcode خود ورودی  نیز در نظر بگیرید تا آن را به تابع فرستاده و خروجی را نمایش دهد . برای انجام این کار تنها کافی است داخل ورودی تابع ، یک متغیر قرار داده و به صورت آرایه در داخل تابع از آنها استفاده کنید ، به این صورت :

add_shortcode('myshortcode','get_myshortcode');
function get_myshortcode($var,$content=null){
return $var['textone'].'<br/>'.$var['texttwo'];
}

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

[myshortcode textone="the first text" texttwo="the second text"][/myshortcode]

در تابع ، متغیر دوم یعنی content$ ، متن بین شورت کد را نمایش می دهد . که اگر بین ابتدا و انتهای شورت کد یک متن را به این صورت قرار دهید :

مطلب پیشنهادی  یافتن و حذف شورت کد های استفاده نشده در پست ها
[myshortcode textone=”the first text” texttwo=”the second text”]متن مورد نظر بین شوردکد[/myshortcode]

می توانید متن را در متغیر دوم گرفته و در خروجی نشان دهید . توجه داشته باشید در کد بالا چون بین شورت کد ، متنی ممکن است قرار نگیرد ، ما متغییر دوم را null قرار میدهیم تا اگر از قبل محتویاتی داخل این متغیر قرار دارد ، خالی شود .

نکته ای که باید مد نظر داشت ، این است که ممکن است این کد ها با برخی از افزونه ها مانند wp jalali یا wp parsidate تضاد داشته و دچار برخی مشکلات شود .

انواع شورت کد ها

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

<ul>
    <li>شورت کد نوع اول (دارای ۱ کروشه):</li>
</ul>
[hello value="hello world"]
<ul>
    <li>شورت کد نوع دوم ( دارای ۲ کروشه ):</li>
</ul>
[hello] hello world [/hello]

که در هر دو نوع عبارت مورد نظر چاپ خواهد شد و دارای تفاوت چندانی با یکدیگر نیستند و این تفاوت به شما بستگی دارد که مایلید از کدام یک استفاده کنید . مثلا در حالت اول میتوانید آپشن ها یا attributes های مختلفی به شورت کد ایجاد شده اضافه کنید .

ایجاد شورت کد نوع اول :برای ایجاد شورت کد نوع اول که با ۱ کروشه می باشد می توانید از کد زیر استفاده کنید این کد ها را باید در فایل functions.php قالب وردپرس خود قرار دهید و بعد آن را ذخیره نمایید .

function helloFunction() {

return "&amp;amp;lt;p&amp;amp;gt;Hello World!&amp;amp;lt;/p&amp;amp;gt;";

}

add_shortcode('hello', 'helloFunction');

شما با قرار دادن این شورت کد در قسمت ویرایشگر هر صفحه و نوشته می توانید عبارت hello world را چاپ کنید . برای افزودن attribute به کد و همچنین داینامیک کردن متن آن میبایست از کد زیر استفاده کنید :

function helloFunction( $atts ) {

$a = shortcode_atts( array(

'value' =&amp;amp;gt; 'hello world',

), $atts );

return $a['value'];

}

add_shortcode( 'hello', 'helloFunction' );

شما همچنین می توانید آپشن های بیشتری به جز value  را نیز به کد بالا اضافه کنید آپشنی همچون color  که به وسیله ی آن رنگ متن خود را انتخاب نمایید .

 

ایجاد شورت کد نوع دوم : برای ایجاد شورت کد نوع دوم که با 2 کروشه می باشد می توانید این گونه شورت کد ها را در اختیار خود داشته باشید تنها باید کد زیر را درون فایل functions.php خود قرار دهید و سپس آن را ذخیره نمایید .

function helloFunction( $atts, $content = null ) {
 
return'<span class="mynote">' . $content . '</span>';
 
}
 
add_shortcode( 'hello', 'helloFunction' );

حال میتوانید از کد کوتاه زیر استفاده کنید:

مطلب پیشنهادی  تغییر رنگ نوار آدرس در مرورگر موبایل
[hello] hello world [/hello]

توجه داشته باشید شما به جای عبارت hello world می توانید درون کروشه ها هر متن دیگری را قرار دهید و سپس آن را چاپ نمایید .

 

نحوه ساخت شورت کد در وردپرس

برای قرار دادن شورت کد ها در نوشته یا برگه های وردپرس باید آن را به صورت [shortcode-name] در قسمت محتوا قرار دهیم . بعد برای ساخت شورت کد در وردپرس باید هوک (hook) مربوطه را در داخل پوسته خود اضافه کنیم . این هوک دارای یک اسم و یک تابع بازگشتی برای نمایش محتویات خواسته شده به جای شورت کد می باشد .

API شورت کد یا همان کد کوتاه در وردپرس به شما اجازه ساخت شورت کد های دلخواه را می دهد و برای همین باید از تابع add_shortcode() برای ساخت شورت کد استفاده می کنیم . این تابع دو ورودی را می گیرد . پارامتر اول اسم شورت کد و پارامتر دوم تابع بازگشتی که محتویات را به جای تگ شورت کد نشان می دهد .

کد هایی که در زیر آورده شده اند را در فایل functions.php قالب خود به بعنوان یک هوک اضافه کنید . تابع بازگشتی یک خروجی html را به جای تگ شورت کد در محتویان نوشته ای که اضافه کردید ، نشان می دهد.

<?php
function getPostFooterNote() {
return "<div>Hope you find this tutorial useful!<br><a href='#'>Share this link</a> on Social Media.</div>";
}
 
add_shortcode('post-footer-note', 'getPostFooterNote');
?>
 

نحوه استفاده از شورت کد

API شورت کد ها از دو حالت خود اتکا (stand-alone) و تگ دربرگیرنده (container tag) پشتیبانی میکند که ساده ترین راه استفاده از شورت کد ها به صورت بسته (self-closing) می باشد .

[post-footer-note]

شورت کد ها همانگونه که می دانید می توانند دارای مشخصه (attribute) نیز باشند که بر اساس مشخصه ها می توان شرط هایی را در هوک تابع بازگشتی تعریف کرد .

[post-footer-note share=’false’]

در کدی که در بالا می بینید به مشخصه ‘share’ مقدار false داده شده است با این حساب تابع بازگشتی لینک share را در خروجی html نشان نخواهد داد.

Enclosing tag به ما اجازه استفاده از تابع بازگشتی در محتویات را می دهد.


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

<span class="kwd">function</span><span class="pln"> prettySource</span><span class="pun">(</span><span class="pln">$atts</span><span class="pun">,</span><span class="pln"> $content</span><span class="pun">=</span><span class="str">""</span><span class="pun">)</span> <span class="pun">{</span><span class="pln">
	$content </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">"&gt;"</span><span class="pun">,</span><span class="str">"&gt;"</span><span class="pun">,</span><span class="pln">$content</span><span class="pun">);</span><span class="pln">
	$content </span><span class="pun">=</span><span class="pln"> str_replace</span><span class="pun">(</span><span class="str">"&lt;"</span><span class="pun">,</span><span class="str">"&lt;"</span><span class="pun">,</span><span class="pln">$content</span><span class="pun">);</span><span class="pln">
	$output </span><span class="pun">=</span> <span class="str">"<pre>;"</span><span class="pun">;</span><span class="pln">
	$output </span><span class="pun">.=</span><span class="pln"> $content</span><span class="pun">;</span><span class="pln">
	$output </span><span class="pun">.=</span> <span class="str">"</pre>"</span><span class="pun">;</span>
	<span class="kwd">return</span><span class="pln"> $output</span><span class="pun">;</span>
<span class="pun">}</span><span class="pln">

add_shortcode</span><span class="pun">(</span><span class="str">'source'</span><span class="pun">,</span> <span class="str">'prettySource'</span><span class="pun">);</span>
اشتراک گذاری

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

یک دیدگاه

  1. آموزش کسب و کار اینترنتی

    با سلام و درود خدمت شما، اگر تعداد میزان کدها، بیشتر بشه، چطور اون همه کد را داخل یک شورت کد ، نمایش بدهدم؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *