it-swarm-pt.tech

Qual é a melhor maneira de incluir um widget em uma página?

Estou criando um novo blog WordPress e gostaria de incluir um widget no conteúdo de uma página. Eu encontrei alguns fóruns descrevendo PHP hacks que pareciam se aplicar a versões mais antigas. Com o WordPress 3.0.1, qual é a melhor maneira de incluir um widget em uma página?

3
g .

Este plugin pode ser o caminho mais fácil. http://wordpress.org/extend/plugins/add-widgets-to-page/

Mas para um método de rascunho ...

Examine o arquivo functions.php do Theme Twenty-Ten e encontre onde as barras laterais dinâmicas estão registradas. Se parece com isso:

<?php function twentyten_widgets_init() {
    // Area 1, located at the top of the sidebar.
    register_sidebar( array(
        'name' => __( 'Primary Widget Area', 'twentyten' ),
        'id' => 'primary-widget-area',
        'description' => __( 'The primary widget area', 'twentyten' ),
        'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ) );

    // Area 2, located below the Primary Widget Area in the sidebar. Empty by default.
    register_sidebar( array(
        'name' => __( 'Secondary Widget Area', 'twentyten' ),
        'id' => 'secondary-widget-area',
        'description' => __( 'The secondary widget area', 'twentyten' ),
        'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ) );

    // Area 3, located in the footer. Empty by default.
        //similar code as above
    // Area 4, located in the footer. Empty by default.
        //similar code as above
    // Area 5, located in the footer. Empty by default.
        //similar code as above
    // Area 6, located in the footer. Empty by default.
        //similar code as above
    //Your Area 7, copy area 2 above and customize it
    }
/** Register sidebars by running twentyten_widgets_init() on the widgets_init hook. */
add_action( 'widgets_init', 'twentyten_widgets_init' );

Eu escrevi na Área 7 acima, como Twenty-Ten inclui 6 áreas de widgets. Copie tudo isso no functions.php do seu tema, se já não estiver lá, e exclua ou adicione o que você precisa.

Use a seguinte chamada de função no seu arquivo de modelo onde você deseja colocar sua área personalizada 7:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(7) ) : endif; ?> 

Por exemplo, crie um arquivo de modelo no diretório do tema e use-o como o modelo padrão de uma página criada no WordPress. Vá para Appearance-> Widgets e arraste widgets para a sua área 7 e eles aparecerão na sua página. Se você precisar de outra área de widget (barra lateral dinâmica), substitua o 7 por um 8>

Esta resposta foi criada com a ajuda de este post por um cara chamado Flynn

2
kevtrout

Eu publiquei um plugin chamado Widgets em Páginas que permite fácil definição e inclusão inline de widgets dentro de posts e páginas. Eu acho que isso seria de ajuda

2
Todd Halfpenny