Problema com painéis e seções no Personalizador de Temas

  • Autor Autor FinerGaby
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
F

FinerGaby

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Holas buenas tardes estoy creando un theme wordpress ^^
Actualmente estoy agregando item en el home que estas se puedan editar desde el theme customizer (que es la parte de personalizar theme)
Pero tengo un problema ya que actualmente para que se den una idea, tengo 6 widget que le quiero agregar que estos se editen desde el theme customizer pero no puedo crear un panel adentro de otro panel, como me explico tengo algo asi:

Theme option> section 1 (opciones theme1), section 2 (opciones theme2)
cada uno adentro tiene su funcion, cuestion como tengo 6 widget estoy tratando de hacer esto para que quede ordenado

Theme option panel 1> section 1 (opciones theme1), section 2 (opciones theme2), panel 2 (opciones de los widget) > section 1,2,3,4,5,6 (opciones de los widget)

Creo que se entiende la idea, el problema que tengo que no puedo hacer un panel dentro del panel 1.

Inserir CODE, HTML ou PHP:
function lwp_footer_notice($wp_customize) {
// Add Panel y Section
$wp_customize->add_panel( 'panel_id', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options',
  'theme_supports' => '',
  'title'          => __('Theme Options Home', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
) );
// Add Section 1
	$wp_customize->add_section('lwp-footer-notice-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options',
    'theme_supports' => '',
    'title'          => __('noticias', 'nuevo'),
    'description'    =>  __('blablabla', 'nuevo'),
    'panel'  => 'panel_id',
	));

Asi es como tengo panel 1 y con la section 1
Ideas? estuve buscando por google estuve encontrando de la misma forma que estuve probando pero no lo toma que seria esta

Inserir CODE, HTML ou PHP:
function lwp_footer_notice($wp_customize) {
// Add Panel y Section
$wp_customize->add_panel( 'panel_id', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options',
  'theme_supports' => '',
  'title'          => __('Theme Options Home', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
) );
// Add Section 1
	$wp_customize->add_section('lwp-footer-notice-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options',
    'theme_supports' => '',
    'title'          => __('noticias', 'nuevo'),
    'description'    =>  __('blabla', 'nuevo'),
    'panel'  => 'panel_id',
	));
$wp_customize->add_panel( 'panel_id_2', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options_2',
  'theme_supports' => '',
  'title'          => __('Theme Options Widget', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
  'panel'  => 'panel_id',
) );
// Add Section 1 - sub widget
	$wp_customize->add_section('lwp-footer-widget-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options_widget',
    'theme_supports' => '',
    'title'          => __('Widget 1', 'nuevo'),
    'description'    =>  __('blablabla', 'nuevo'),
    'panel'  => 'panel_id_2',
	));

Esta la forma que intente pero no me lo toma, hace que me salga una section en la parte principal.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Holas buenas tardes estoy creando un theme wordpress ^^
Actualmente estoy agregando item en el home que estas se puedan editar desde el theme customizer (que es la parte de personalizar theme)
Pero tengo un problema ya que actualmente para que se den una idea, tengo 6 widget que le quiero agregar que estos se editen desde el theme customizer pero no puedo crear un panel adentro de otro panel, como me explico tengo algo asi:

Theme option> section 1 (opciones theme1), section 2 (opciones theme2)
cada uno adentro tiene su funcion, cuestion como tengo 6 widget estoy tratando de hacer esto para que quede ordenado

Theme option panel 1> section 1 (opciones theme1), section 2 (opciones theme2), panel 2 (opciones de los widget) > section 1,2,3,4,5,6 (opciones de los widget)

Creo que se entiende la idea, el problema que tengo que no puedo hacer un panel dentro del panel 1.

Inserir CODE, HTML ou PHP:
function lwp_footer_notice($wp_customize) {
// Add Panel y Section
$wp_customize->add_panel( 'panel_id', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options',
  'theme_supports' => '',
  'title'          => __('Theme Options Home', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
) );
// Add Section 1
    $wp_customize->add_section('lwp-footer-notice-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options',
    'theme_supports' => '',
    'title'          => __('noticias', 'nuevo'),
    'description'    =>  __('blablabla', 'nuevo'),
    'panel'  => 'panel_id',
    ));

Asi es como tengo panel 1 y con la section 1
Ideas? estuve buscando por google estuve encontrando de la misma forma que estuve probando pero no lo toma que seria esta

Inserir CODE, HTML ou PHP:
function lwp_footer_notice($wp_customize) {
// Add Panel y Section
$wp_customize->add_panel( 'panel_id', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options',
  'theme_supports' => '',
  'title'          => __('Theme Options Home', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
) );
// Add Section 1
    $wp_customize->add_section('lwp-footer-notice-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options',
    'theme_supports' => '',
    'title'          => __('noticias', 'nuevo'),
    'description'    =>  __('blabla', 'nuevo'),
    'panel'  => 'panel_id',
    ));
$wp_customize->add_panel( 'panel_id_2', array(
 'priority'       => 10,
  'capability'     => 'edit_theme_options_2',
  'theme_supports' => '',
  'title'          => __('Theme Options Widget', 'nuevo'),
  'description'    => __('blablabla', 'nuevo'),
  'panel'  => 'panel_id',
) );
// Add Section 1 - sub widget
    $wp_customize->add_section('lwp-footer-widget-section', array(
   'priority'       => 10,
    'capability'     => 'edit_theme_options_widget',
    'theme_supports' => '',
    'title'          => __('Widget 1', 'nuevo'),
    'description'    =>  __('blablabla', 'nuevo'),
    'panel'  => 'panel_id_2',
    ));

Esta la forma que intente pero no me lo toma, hace que me salga una section en la parte principal.
¡Hola! Parece que estás teniendo problemas para organizar paneles y secciones en el Personalizador de Temas de WordPress.

En tu código, estás tratando de añadir un panel dentro de otro panel, pero el Personalizador de Temas de WordPress no permite paneles anidados de forma directa. Sin embargo, puedes lograr una estructura de organización similar usando secciones y controles.

Aquí tienes un ejemplo de cómo podrías organizar tus paneles, secciones y controles de una manera más plana y ordenada:

PHP:
function lwp_customize_register( $wp_customize ) {
    // Panel 1: Configuración del Tema
    $wp_customize->add_panel( 'panel_id', array(
        'priority' => 10,
        'capability' => 'edit_theme_options',
        'theme_supports' => '',
        'title' => __('Theme Options Home', 'nuevo'),
        'description' => __('Descripción del panel del tema', 'nuevo'),
    ));

    // Sección 1: Opciones del Tema
    $wp_customize->add_section( 'theme_options_section', array(
        'title' => __('Opciones del Tema', 'nuevo'),
        'panel' => 'panel_id',
    ));

    // Sección 2: Opciones de los Widgets
    $wp_customize->add_section( 'widget_options_section', array(
        'title' => __('Opciones de los Widgets', 'nuevo'),
        'panel' => 'panel_id',
    ));

    // Controles para las opciones del tema
    $wp_customize->add_setting( 'theme_setting', array(
        'default' => '',
        'type' => 'theme_mod',
    ));

    $wp_customize->add_control( 'theme_control', array(
        'label' => __('Configuración del Tema', 'nuevo'),
        'section' => 'theme_options_section',
        'settings' => 'theme_setting',
        'type' => 'text',
    ));

    // Controles para las opciones de los widgets
    $wp_customize->add_setting( 'widget_setting', array(
        'default' => '',
        'type' => 'theme_mod',
    ));

    $wp_customize->add_control( 'widget_control', array(
        'label' => __('Configuración del Widget', 'nuevo'),
        'section' => 'widget_options_section',
        'settings' => 'widget_setting',
        'type' => 'text',
    ));
}
add_action( 'customize_register', 'lwp_customize_register' );

En este ejemplo, he creado un panel para las opciones generales del tema, una sección dentro de ese panel para las opciones del tema y otra sección para las opciones de los widgets. Luego, he añadido controles para cada una de las opciones.

Espero que este enfoque te ayude a organizar mejor tus opciones en el Personalizador de Temas de WordPress. ¡Déjame saber si tienes alguna otra pregunta o si necesitas más ayuda!
 
Voltar
Topo