افزودن لیست کشویی کدهای کوتاه (shortcode) به ویرایشگر وردپرس

افزودن لیست کشویی کدهای کوتاه (shortcodes) به ویرایشگر وردپرس

همانطور که قبلا هم گفتیم کدهای کوتاه یکی از ویژگی های بسیار خوب وردپرس می باشند که این امکان را به ما می دهند تا بتوانیم کارهایی که نیاز به نوشتن کد زیاد دارند را تنها با یک خط کد انجام دهیم. مزایای shortcode ها بسیار زیاد است به همین خاطر هم این روز ها اکثر قالب های حرفه ای از آنها استفاده می کنند. اما زمانی که تعداد کدهای کوتاه سایت زیاد می شود یک مسئله جدی و آن هم به خاطر سپردن آنها مطرح می شود.

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

add_action('media_buttons','add_sc_select',11);
function add_sc_select(){
    global $shortcode_tags;
     /* ------------------------------------- */
     /* enter names of shortcode to exclude bellow */
     /* ------------------------------------- */

    $exclude = array("wp_caption", "embed");
    echo '&nbsp;<select id="sc_select"><option>Shortcode</option>';
    foreach ($shortcode_tags as $key => $val){
            if(!in_array($key,$exclude)){
            $shortcodes_list .= '<option value="['.$key.'][/'.$key.']">'.$key.'</option>';
            }
        }
     echo $shortcodes_list;
     echo '</select>';
}
add_action('admin_head', 'button_js');
function button_js() {
        echo '<script type="text/javascript">
        jQuery(document).ready(function(){
           jQuery("#sc_select").change(function() {
                          send_to_editor(jQuery("#sc_select :selected").val());
                          return false;
                });
        });
        </script>';
}

خوب کافی است تا کد بالا را به فایل فانشکن قالب فعلی یا افزونه اختصاصی سایت خود اضافه کنید. همچنین شما می توانید با قرار دادن نام برخی از شورت کد ها در خط ۷ از نمایش در آمدن آنها در لیست کشویی جلوگیری کنید.

دیدگاه کاربران

  1. سلام ممنون.
    چجوری میشه تمام مطالب یک post format رو لیست کرد؟ مثلا دسته بندی ها راحت میشه با لینک دسته بندی لینک کرد اما چجوری میشه تمام مطالبی که مثلا ساختار اون ها video هست رو لیست کرد؟

  2. gol

    با سلام
    من وقتی کد ها را در فانکشن قرار می دهم و ذخیره می کنم
    هنگامی که می خوام مثلا یک برگه رو ویرایش کنم هنگام ذخیره کرده صفحه سفید میشه؟؟؟
    راهنمایی کنید

  3. با عرض سلام و خسته نباشید ؛
    قصد جسارت ندارم ولی کد اشتباه است .
    دو تگ باز و بسته : رو در آخرهای کد قرار نداده بودید.

    • سعید شعبانی

      کد ها که درست هستند فقط کد باز بسته PHP در ابتدا و انتهای این کدها قرار نگرفته است. در بیشتر مطلب هم ذکر می کنم که باید این کدها حتما بین تگ باز و بسته PHP قرار گیرند اما متاسفانه در این مطلب این مورد فراموش شده است.

  4. ضمناً یا من بلد نیستم باهاشون کار کنم با اینا خرابن .
    چون یکی از این شورت کدهای قالب من : [audio url=""] است که من میخواستم با این هک درست بشه ولی درست نشد که نشد.
    وارد لیست شده ولی کار نمیکنه . لطفاً آموزش بدید که چطور باید باهاش کار کنم چون هیچ جوری نمیشه .

کاربر گرامی برای ارسال دیدگاه اگر عضو روکش هستید باید سایت شوید در غیر اینصورت باید عضو شوید.