هنگامی که یک ویرایشگر یک شرت کد به یک پست یا صفحه اضافه میکند، آن توسط خروجی از یک تابع کنترل در یک پلاگین و یا فایل functions.php  جایگزین شده است. بیایید یک مثال ساده ایجاد کنیم:

<pre class=" language-undefined"><code class=" language-undefined">// create a styled button
function ContactButton($params, $content = null) {

	extract(shortcode_atts(array(
		'url' => '/contact-us',
		'type' => 'style1'
	), $params));

	return
		'<a href="' . $url . '" class="button ' . $type. '">' . ucwords($content) . '</a>';

}
add_shortcode('button','ContactButton');</code></pre>
<code class=" language-undefined">
</code>

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

[button]contact us today[/button]
مانند زیر ترجمه شده است:


<code class=" language-undefined"><a href="/contact-us" class="button style1">Contact Us Today</a>
</code>

کار سردبیر به مراتب آسان تر شده است و آنها لازم نیست که در مورد یادگیری HTML نگران باشید. بیایید  یک مثال دیگر را ببینید:

<pre class=" language-undefined"><code class=" language-undefined">
// callout box
function CalloutBox($params, $content = null) {

	extract(shortcode_atts(array(
		'type' => 'style1'
	), $params));
	
	return
		'<aside class="callout ' . $type . '">' . $content . '</aside>';

}
add_shortcode('callout','CalloutBox');</code></pre>
<code class=" language-undefined">
</code>

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

 

[callout]For more information [button]contact us today[/button][/callout]

کد فعلی شکست خواهد خورد. تابع CalloutBox  نام [button] درون بر این اساس ترجمه شود.

تابع کلیدی برای رفع مشکل do_shortcode است – در این مورد، ما می خواهیم یک ویرایشگر [button] در [callout] اضافه کنیم، بنابراین تغییر ایجاد شده در CalloutBox بر این اساس است:


<code class=" language-undefined">return
	'<aside class="callout ' . $type . '">' . 
	do_shortcode($content) . 
	'</aside>';
</code>

 

 

امیدواریم این مقاله به شما در ایجاد شرت کد های تو در تو در وردپرس کمک کرده باشد.برای مشاهده مقالات بیشتر درباره ی طراحی قالب وردپرس به http://www.on5.ir مراجعه کنید.

آنفایو مرجع مقالات تخصصی طراحی قالب وردپرس