it-swarm.asia

ما هو option_name في قاعدة البيانات التي تخزن معلومات أداة بدء التشغيل الحالية في الشريط الجانبي الأمامي؟

ما هو option_name في قاعدة البيانات التي تخزن معلومات أداة بدء التشغيل الحالية في الشريط الجانبي الأمامي؟

1
justjoe

تم حلها. ما قاله إيمان هو الصحيح. المشكلة هي في تكوين نظام القطعة في وورد. لكل أداة متعددة مثيل مثل النص ، يتم تخزين المعلومات باسم خيار مختلف حيث تكون قيمة كل متجر عنصر واجهة تعامل مستخدم بطريقة متسلسلة.

الخدعة تدور حول كيفية تخزين معلومات عنصر واجهة تعامل النص التسلسلي التي تحتوي أحيانًا على أحرف خاصة. يجب علينا استخدام heredoc. استخدام heredoc هو تجنب الموقف عندما يجب أن تحتوي السلسلة على ['] و ["] ، لأن كليهما لا يمكن استخدامها في سطر واحد معًا.

$serialize_sidebar_widgets = <<< EOD
a:7:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:1:{i:0;s:6:"text-3";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:0:{}s:9:"sidebar-4";a:0:{}s:9:"sidebar-5";a:0:{}s:13:"array_version";i:3;}
EOD;

$serialize_widgets_text = <<< EOD
a:3:{i:2;a:0:{}i:3;a:3:{s:5:"title";s:5:"hello";s:4:"text";s:21:"saya hellokankamu yah";s:6:"filter";b:0;}s:12:"_multiwidget";i:1;}
EOD;

الآن يمكننا تخزينها في قاعدة البيانات:

$wpdb->update( $wpdb->options, array( 'option_value' => $serialize_sidebar_widgets ), array( 'option_name' => 'sidebars_widgets' ) );
$wpdb->update( $wpdb->options, array( 'option_value' => $serialize_widgets_text ), array( 'option_name' => 'widget_text' ) );

ملاحظة: إذا قمنا بتخزين عناصر واجهة المستخدم متعددة الحالات ، فيجب أن نتذكر أن التطبيقات المصغرة لها تكوينها الخاص. على سبيل المثال ، يتم تخزين عنصر واجهة المستخدم النصية في "widget_text"

ملاحظة: اقرأ كيفية استخدام heredoc في PHP .

2
justjoe

يتم تخزين الحاجيات الشريط الجانبي في أماكن متعددة في قاعدة البيانات. لكي نكون صادقين تمامًا ، أعتقد أنه سيكون من المستحيل جعل السمة الخاصة بك تنشئ شريطًا جانبيًا تم تعبئته مسبقًا ، مصغرًا عند التثبيت لأول مرة.

ومع ذلك ، لا يزال هناك طريقة لإعداد عرض عنصر واجهة تعامل افتراضي عند تثبيت سمة في المرة الأولى. إذا ألقيت نظرة على سمة TwentyTen الافتراضية ، فسترى أنها تحدد قائمة من الأدوات المصغّرة "الافتراضية" التي سيتم تحميلها إذا لم يكن لدى المستخدم شريط جانبي ديناميكي:

<div id="primary" class="widget-area" role="complementary">
    <ul class="xoxo">
    <?php
        /* When we call the dynamic_sidebar() function, it'll spit out
         * the widgets for that widget area. If it instead returns false,
         * then the sidebar simply doesn't exist, so we'll hard-code in
         * some default sidebar stuff just in case.
         */
        if ( ! dynamic_sidebar( 'primary-widget-area' ) ) : ?>

            <li id="search" class="widget-container widget_search">
                <?php get_search_form(); ?>
            </li>

            <li id="archives" class="widget-container">
                <h3 class="widget-title"><?php _e( 'Archives', 'twentyten' ); ?></h3>
                <ul>
                    <?php wp_get_archives( 'type=monthly' ); ?>
                </ul>
            </li>

            <li id="meta" class="widget-container">
                <h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
                <ul>
                    <?php wp_register(); ?>
                    <li><?php wp_loginout(); ?></li>
                    <?php wp_meta(); ?>
                </ul>
            </li>

    <?php endif; // end primary widget area ?>
    </ul>
</div><!-- #primary .widget-area -->

يعمل هذا الكود على حظر الترميز الثابت لعنصر واجهة البحث ، والقطعة المحفوظات ، والقطعة الوصفية. أساسي جدًا ، لكنه يعني أن المدونات الجديدة ستظهر دائمًا شيئًا مفيدًا في الشريط الجانبي حتى لو لم تتح الفرصة للمالك لتخصيص الموقع حتى الآن.

إذا كنت تقوم بالتصوير لإنشاء "قائمة من الأدوات المصغّرة التي يتم تثبيتها تلقائيًا عند تسجيل سمة للمرة الأولى" ، فهذه هي الطريقة الأكثر أمانًا والأصدقاء للقيام بذلك.

2
EAMann