Tableless - Desenvolvimento inteligente com Padrões Web

26/08/2008
Artigos

Criar páginas no WordPress

O WordPress permite total controle sobre a criação de conteúdo, inclusive a criação de novas páginas. Para termos acesso a esse recurso, utilizamos o método wp_list_pages (), método pelo qual, após a criação das páginas, elas são mostradas automaticamente no …

Por


O WordPress permite total controle sobre a criação de conteúdo, inclusive a criação de novas páginas.

Para termos acesso a esse recurso, utilizamos o método wp_list_pages (), método pelo qual, após a criação das páginas, elas são mostradas automaticamente no seu site, pois a grande maioria dos templates para WordPress já vem com essa função, que fica localizada no arquivo header.php do tema do WordPress, gerando uma lista de páginas semelhante a essa:

1
2
3
4
5
 <ul>
<li class="page_item"><a href="http://seusite.com.br/sobre/" title="Sobre">Sobre</li>
<li class="page_item"><a href="http://seusite.com.br/arquivos/" title="Arquivos">Arquivos</li>
<li class="page_item"><a href="http://seusite.com.br/contato/" title="Contato">Contato</a></li>
</ul>

Após as páginas serem criadas, você pode ocultar certas páginas para que elas não apareçam na navegação, mostrar páginas em um ordem diferente, tudo isso a partir da interface adiministrativa do WordPress.

Ocultar páginas da navegação

Você não quer que a página Arquivos apareça em seu menu, para que isso aconteça, siga os seguintes passos:

  1. Vá até o administrativo de seu WordPress, entre em Gerenciar > Páginas.
  2. Você verá uma lista de todas as páginas criadas.
  3. Aqui precisamos pegar o ID de cada página para podermos ocultá-las posteriormente.
  4. Coloque o mouse sobre o nome da página e você observará na URL, semelhante a essa: http://seusite.com.br/wp-admin/page.php?action=edit&post=4, que o número que vem após o &post= é o ID da página, nessa URL seria o ID 4.
  5. Agora devemos modificar o método wp_list_pages () no arquivo header.php do seu tema WordPress. Para evitar problemas futuros, efetue um backup do arquivo para segurança.
  6. Abra o arquivo, procure por wp_list_pages().
  7. Adicione o arqumento: “exclude=4″.
1
<?php wp_list_pages('title_li=&exclude=4');?>

Agora a página Arquivos não será mostrada no menu do seu site.

Mostrar páginas em uma ordem diferente

No geral elas são ordenadas alfabeticamente, mas você pode indicar um número para alterar essa ordem:

  1. Vá até Gerenciar > Páginas.
  2. Escolha a página que deseja editar.
  3. Abaixo você verá: Ordem da página, no campo mostrado digite “1″.
  4. Agora devemos efetuar a alteração no arquivo header.php, passando o seguinte argumento no método wp_list_pages().
1
<?php wp_list_pages ('title_li=&sort_column=menu_order');?>

Sua página a partir de agora será listada por essa ordem. Para alterar a ordem de outras páginas, basta seguir os passos e alterar a ordem como você quiser.

Se você quer saber mais sobre WordPress, visite a seção exclusiva do Tableless.

  • http://www.woolz.blogspot.com Aragao

    Dica interessante :> soh que como meu ramo ainda nao é wordpress não é de muita precisao para mim! enquanto isso tenho que me contentar :(

  • http://zenatuz.com/blog Renato

    Muito bom o artigo, tenho acompanhado sempre o site e sempre dicas muito interessantes. Parabéns.

  • Pingback: Pinceladas da Web

  • http://www.soldia.com André Beltrame

    Otimo artigo para iniciantes! legal ainda seria abordar o Include

    Assim como o exclude, podemos adcionar o Id da page.

    = )

    abraços.

  • http://www.weno.com.br/blog weno

    ótimo, esclareceu algumas dúvidas em um projeto que envolve o WP como CMS, além do uso como blog.
    parabéns!

  • http://www.4vconnect.com Willians

    de um tempo para cá venho vendo que grande parte dos posts são sobre wp.

    será que não há dar um pouco mais de atenção ás normas, códigos e erros bizarros que ocorrem na hora do desenvolvimento?

  • Pingback: Criar páginas no Wordpress | Canal da Tecnologia

  • Pingback: pigg.com.br

  • Arthur

    É os site é bom,serve! rsrsrsrsrsrs ^^ =D.

  • ederson

    sou cru quero ter meu site onde e como iniciar?

  • http://fotologando.blogspot.com/ Rodrigo

    hummm ajuda um pouco ainda sou iniciante em PHP aqui é um bom começo :D

  • Guilherme

    muitio boa a dica, só gostaria de saber de vc como eu faço para mudar a página inicial do meu wordpress, tipo par que os novos posts não apareçam na página inicial e que eu possa postar nas novas páginas que eu criar, não sei se fui claro mas qq coisa me manda um email que to precisando de ajuda, vleu mesmo fika com DEUS

  • http://www.obrasileirinho.com.br o brasileirinho

    Excelente explicação, mas queria saber também como aglomerar as páginas em uma determinada categoria. No caso dos post já faço, mas as páginas preciso saber. Poderia explicar?

  • http://www.3dtotal.com.br Edson

    muito bom gostei parabens!!!
    esse foi o melhor tutorial que eu ja ví.

  • http://wladimir58.wordpress.com/ Wladimir Cebolinha

    Legal, é a primeira vez que entro aqui mais vou entrar sempre para poder aprender a mexer no wordpress pois acho esse sistema de blog maravilhoso.

    Um abraço

  • http://itarciodsn.com Itarcio

    Pedro Rogério, tu é o cara!

  • http://? Antonio Caser

    Que versão é essa do WordPress que voce utiliza?

    Meu WordPress 3.0.2 não tem esse “Gerenciar”.

    Pode me explicar melhor?

    Obrigado.

  • http://twitter.com/diegoeis/ Diego Eis

    Antonio, como vai?
    A versão utilizada no artigo é de 2008. Hoje ele já mudou muito! ;-)

  • Everaldo

    Cara, tem como listar as últimas 5 páginas atualizadas com o WP_LIST_PAGES?

  • http://www.marcioiluminasom.com marcio

    Pedro Rogério estou começando a usar o WordPress vi sua esplicação mas no meu header.php do WordPress não tem como vc disse,meu header.php abaixo se vc puder me ajudar te agradeço

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <?php
    /**
     * The Header for our theme.
     *
     * Displays all of the <head> section and everything up till <div id="main">
     *
     * @package WordPress
     * @subpackage Twenty_Ten
     * @since Twenty Ten 1.0
     */
    ?><!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <title><?php
        /*
         * Print the <title> tag based on what is being viewed.
         */
        global $page, $paged;

        wp_title( '|', true, 'right' );

        // Add the blog name.
        bloginfo( 'name' );

        // Add the blog description for the home/front page.
        $site_description = get_bloginfo( 'description', 'display' );
        if ( $site_description && ( is_home() || is_front_page() ) )
            echo " | $site_description";

        // Add a page number if necessary:
        if ( $paged >= 2 || $page >= 2 )
            echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );

        ?></title>
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <?php
        /* We add some JavaScript to pages with the comment form
         * to support sites with threaded comments (when in use).
         */
        if ( is_singular() && get_option( 'thread_comments' ) )
            wp_enqueue_script( 'comment-reply' );

        /* Always have wp_head() just before the closing </head>
         * tag of your theme, or you will break many plugins, which
         * generally use this hook to add elements to <head> such
         * as styles, scripts, and meta tags.
         */
        wp_head();
    ?>
    </head>

    <body <?php body_class(); ?>>
    <div id="wrapper" class="hfeed">
        <div id="header">
            <div id="masthead">
                <div id="branding" role="banner">
                    <?php $heading_tag = ( is_home() || is_front_page() ) ? 'h1' : 'div'; ?>
                    <<?php echo $heading_tag; ?> id="site-title">
                        <span>
                            <a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
                        </span>
                    </<?php echo $heading_tag; ?>>
                    <div id="site-description"><?php bloginfo( 'description' ); ?></div>

                    <?php
                        // Check if this is a post or page, if it has a thumbnail, and if it's a big one
                        if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
                                has_post_thumbnail( $post->ID ) &&
                                ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
                                $image[1] >= HEADER_IMAGE_WIDTH ) :
                            // Houston, we have a new header image!
                            echo get_the_post_thumbnail( $post->ID );
                        elseif ( get_header_image() ) : ?>
                            <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
                        <?php endif; ?>
                </div><!-- #branding -->

                <div id="access" role="navigation">
                  <?php /*  Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
                    <div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
                    <?php /* Our navigation menu.  If one isn't filled out, wp_nav_menu falls back to wp_page_menu.  The menu assiged to the primary position is the one used.  If none is assigned, the menu with the lowest ID is used.  */ ?>
                    <?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
                </div><!-- #access -->
            </div><!-- #masthead -->
        </div><!-- #header -->

        <div id="main">

    Obrigado pela sua atenção

  • http://www.michelsouza.com Michel Souza

    Pedro, excelente dica, mas acho que deveria apenas mudar o titulo, logo que entrei pensei que trataria da criação de paginas personalizadas, como as obtidas com o comentário a baixo.

    O que esta sendo tratado é sobre os menos. Desculpa se parecer inconveniente brother, é só uma observação.

    Abraço

  • http://www.michelsouza.com Michel Souza

    Pedro, excelente dica, mas acho que deveria apenas mudar o titulo, logo que entrei pensei que trataria da criação de paginas personalizadas, como as obtidas com o comentário a baixo.

    O que esta sendo tratado é sobre os menos. Desculpa se parecer inconveniente brother, é só uma observação.

    Obs: coloquei espaços no código pois não lê.

    Abraço