থিম কাস্টমাইজার - সেটিংস অর্ডার


10

যদি আমি একটি বিভাগে 5 টিরও বেশি সেটিংস যোগ করি তবে সেটিংসের ক্রমটি অদ্ভুত হয়ে যায়।

উদাহরণ স্বরূপ:

// Link color
$wp_customize->add_setting( 'tonal_'.$themeslug.'_settings[link_color1]', array(
    'default'           => $themeOptions['link_color1'],
    'type'              => 'option',
    'sanitize_callback' => 'sanitize_hex_color',
    'capability'        => 'edit_theme_options',
    'transport'         => 'postMessage'
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tonal_'.$themeslug.'_settings[link_color1]', array(
    'label'    => __( 'Link color1', 'tonal' ),
    'section'  => 'colors',
    'settings' => 'tonal_'.$themeslug.'_settings[link_color1]',
    'choices'  => '#ffffff'
) ) );

পেস্টবিনে আরও উদাহরণ - মেয়াদোত্তীর্ণ হওয়ার সময় নেই

রঙগুলি 1 থেকে 7 পর্যন্ত নাম্বার করা হয়েছে তবে সেটিংসে সেগুলি ক্রমে প্রদর্শিত হচ্ছে: 2,1,3,4,6,5,7

কেউ কি একই অভিজ্ঞতা আছে?

অথবা কেউ কীভাবে এটি সমাধান করতে জানে?


অবশ্যই, এটি "কুসুমাইজার" বানান? ;)
কায়সার

উত্তর:


9

যদি আপনার একটি নির্দিষ্ট ক্রমে এগুলি প্রয়োজন হয়, তবে নিয়ন্ত্রণগুলিতে একটি অগ্রাধিকার মান দিন। অন্যথায়, তাদের অর্ডার সংজ্ঞায়িত করা হয় না এবং গ্যারান্টি দেওয়া যায় না।

আপনি যদি কোনও অগ্রাধিকার সংজ্ঞা না দেন তবে নিয়ন্ত্রণটি "10" এর ডিফল্ট অগ্রাধিকার পায়।

যখন দুটি নিয়ন্ত্রণের একই অগ্রাধিকার থাকে, তবে ফলস্বরূপ অর্ডারটি অপরিজ্ঞাত হয়, কারণ এইভাবে পিএইচপি কাজ করে


2
ওহ আমার ... খুব সহজ। অগ্রাধিকার মান পাশাপাশি নিয়ন্ত্রণগুলিতে কাজ করে তা জানত না। অনেক ধন্যবাদ!
xsonic

1

পরিষ্কার কর

ডিবাগিংয়ের জন্য আইট্রেট করা অনেক সহজ, আপনি ধাপে ধাপে তথ্য দেখতে পাবেন:

I আমি এর সাথে এটি যুক্ত করার পরে কী হবে? «

সুতরাং কেবল একটি ক্লিন আপ দিয়ে শুরু করুন এবং দেখুন কীভাবে এটি যুক্ত হয়।

foreach ( range( 1, 7 ) as $nr )
{
    $wp_customize->add_setting( 
        "tonal_{$themeslug}_settings[link_color{$nr}]",
        array(
            'default'           => $themeOptions[ "link_color{$nr}" ],
            'type'              => 'option',
            'sanitize_callback' => 'sanitize_hex_color',
            'capability'        => 'edit_theme_options',
            'transport'         => 'postMessage'
        )
    );
    $wp_customize->add_control(
        new WP_Customize_Color_Control(
            $wp_customize,
            "tonal_{$themeslug}_settings[link_color{$nr}]",
            array(
                'label'    => __( sprintf( 'Link color%s', $nr ), 'tonal' ),
                'section'  => 'colors',
                'settings' => "tonal_{$themeslug}_settings[link_color{$nr}]",
                'choices'  => '#ffffff'
            ) 
        ) 
    );

    // DEBUG:
    echo '<pre>'; var_export( $wp_customize, true ); echo '</pre>';
}

শ্রেণীবিভাজন

সুযোগটি খুব বেশি, আপনি ডিফল্ট পিএইচপি বাছাই করার পদ্ধতিগুলি পেয়ে যাবেন । আউটপুটটি একবার দেখুন এবং সাধারণ অ্যারে বাছাইয়ের মাধ্যমে আপনি কী করতে পারেন তা দেখুন (ইঙ্গিত: আপনি সহজেই castালাই টাইপ করতে পারেন (array) $object এবং (object) $array


আপনার সাহায্যের জন্য ধন্যবাদ. এই মুহুর্তে এটি সমস্ত সঠিক ক্রমে। অর্ডার অবশ্যই কোর্সের কোথাও মিশ্রিত হওয়া উচিত বলে আমি মনে করি। তবে আমি এটি এখনও সন্ধান করতে পারি না।
xsonic

এটাই কি এখন সঠিক উত্তর? যদি তা হয় তবে দয়া করে সমাধান হিসাবে চিহ্নিত করুন। চেক চিহ্নটি ভোটদানের তীরের ঠিক নীচে। যদি তা না হয় তবে দয়া করে আপনার নিজের উত্তর যুক্ত করুন এবং এর কাছাকাছি আসতে আপনি কী পদক্ষেপ নিয়েছেন তা ব্যাখ্যা করুন। ধন্যবাদ।
কায়সার 14 ই

অটো ইতিমধ্যে সঠিক উত্তর পোস্ট করেছে (যা আমি স্বীকার করেছি)। give a priority value to the controls, আমি মনে করি যে আর কোনও ব্যাখ্যা প্রয়োজন নেই ;-)
xsonic

একেবারে সম্মত হন :)
কায়সার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.