
هنگامی که یک ویرایشگر یک شرت کد به یک پست یا صفحه اضافه میکند، آن توسط خروجی از یک تابع کنترل در یک پلاگین و یا فایل functions.php جایگزین شده است. بیایید یک مثال ساده ایجاد کنیم:
<pre class=" language-undefined"><code class=" language-undefined">// create a styled button function ContactButton($params, $content = null) { extract(shortcode_atts(array( 'url' =&gt; '/contact-us', 'type' =&gt; 'style1' ), $params)); return '&lt;a href="' . $url . '" class="button ' . $type. '"&gt;' . ucwords($content) . '&lt;/a&gt;'; } add_shortcode('button','ContactButton');</code></pre> <code class=" language-undefined"> </code>
بعد از ارسال کد زیر در صفحه عبارت زیر نشان داده می شود:
[button]contact us today[/button]
مانند زیر ترجمه شده است:
<code class=" language-undefined">&lt;a href="/contact-us" class="button style1"&gt;Contact Us Today&lt;/a&gt; </code>
کار سردبیر به مراتب آسان تر شده است و آنها لازم نیست که در مورد یادگیری HTML نگران باشید. بیایید یک مثال دیگر را ببینید:
<pre class=" language-undefined"><code class=" language-undefined"> // callout box function CalloutBox($params, $content = null) { extract(shortcode_atts(array( 'type' =&gt; 'style1' ), $params)); return '&lt;aside class="callout ' . $type . '"&gt;' . $content . '&lt;/aside&gt;'; } 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 '&lt;aside class="callout ' . $type . '"&gt;' . do_shortcode($content) . '&lt;/aside&gt;'; </code>
امیدواریم این مقاله به شما در ایجاد شرت کد های تو در تو در وردپرس کمک کرده باشد.برای مشاهده مقالات بیشتر درباره ی طراحی قالب وردپرس به https://www.on5.ir مراجعه کنید.
آنفایو مرجع مقالات تخصصی طراحی قالب وردپرس