custom admin panel wordpress


0

На workshop за wordpress се спомена, че е хубаво да направим custom admin panel.

Марио спомена, че има customizer, който лесно може да добавим. Аз четох тази страница:

https://codex.wordpress.org/Theme_Customization_API

как да добавим функционалности към Customization admin screen и да променяме цветове на линков, текст и други неща.Пробвах кода, който е описан на страницата за промяна на цвета на линк:

function denitsaart_customize_register( $wp_customize ){

    $wp_customize->add_section('denitsaart_color_scheme', array(
        'title'    => __('Color Scheme', 'denitsaart'),
        'priority' => 120,
    ));
    $wp_customize->add_setting('denitsaart_theme_options[link_color]', array(
        'default'           => '000',
        'sanitize_callback' => 'sanitize_hex_color',
        'capability'        => 'edit_theme_options',
        'type'           => 'option',
 
    ));
 
    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_color', array(
        'label'    => __('Link Color', 'denitsaart'),
        'section'  => 'denitsaart_color_scheme',
        'settings' => 'denitsaart_theme_options[link_color]',
    )));
}
function denitsaart_customize_css()
{
    ?>
         <style type="text/css">
            a { color:<?php echo get_theme_mod('denitsaart_theme_options[link_color]'); ?>; }
         </style>
    <?php
}
add_action( 'wp_head', 'denitsaart_customize_css');
Като натисна на customize ми се появява този панел за избор на цвят, който трябва да се приложи на линковете. Получава ми се от генерираният css
a{ color:   } , но не ми се генерира цвят.
Ако някой го е пробвал, или Марио ако има желание, ще се радвам на помощ.
Аз четох из много форуми за get_theme_mod, но не мога да намеря проблема.

 




Отговори



1

Здравей, опростих малко твоя код, мисля че се получава объркване заради този параметър 'denitsaart_theme_options[link_color]', но не съм изследвала по-подробно.

При мен работи така:

function denitsaart_customize_register( $wp_customize ){
 
    $wp_customize->add_section('denitsaart_color_scheme', array(
        'title'    => __('Color Scheme', 'denitsaart'),
        'priority' => 120,
    ));
 
$wp_customize->add_setting( 'link_color' , array(
'default'     => '#000',
'transport'   => 'refresh',
) );
 
    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_color', array(
        'label'    => __('Link Color', 'denitsaart'),
        'section'  => 'denitsaart_color_scheme',
        'settings' => 'link_color'
    )));
}
add_action( 'customize_register', 'denitsaart_customize_register' );
 
function denitsaart_customize_css()
{
    ?>
         <style type="text/css">
a { color:<?php echo get_theme_mod('link_color'); ?>; }
         </style>
    <?php
}
add_action( 'wp_head', 'denitsaart_customize_css');

Успех! 


от mariya_ivanova (0 точки)


0
благодаря, получи се така както си го променила. :)) Успех и на теб

от DenitsaM (65 точки)