web-dev-qa-db-pt.com

Como faço para representar 'pedaços' de conteúdo no Wordpress?

Eu só usei o wordpress como uma plataforma de blogs auto-hospedada - até agora. Eu tenho um requisito para usá-lo para um CMS muito básico que consistirá em ~ 10 páginas, a maioria das quais será conteúdo estático, atualizado periodicamente. Vou precisar de capacidade para fazer upload de documentos, incorporar imagens, editar a cópia usando o editor de texto - praticamente todos os recursos padrão oferecidos pelo wordpress.

No entanto, estou tendo dificuldades em abordar a questão da edição de seções específicas em uma página - em particular, apenas sabendo por onde começar. Um CMS "normal" tradicionalmente dividiria uma página em seções separadas e permitiria que eu editasse qualquer uma dessas seções, editando diretamente o conteúdo ou incluindo conteúdo compartilhado naquele ponto. Não consigo descobrir como fazer isso usando o wordpress.

É possível 'esticar' o modelo de página para que uma página seja na verdade apenas um pedaço de conteúdo, seja incluída por uma página/modelo específica e seja - de alguma forma - protegida de ser visualizada diretamente (removendo-a dos menus de navegação? começar).

Alguma indicação sobre por onde começar?

Atualizar

Para esclarecer, imagine uma postagem no blog padrão wordpress. Finja que é um conteúdo estático. Suponha que você queira que um editor seja capaz de alterar apenas o primeiro parágrafo da postagem do blog. Agora,

  • o conteúdo estático dessa página deve estar em um Post, Page, Template ou outra coisa?
  • o conteúdo editável deveria ser uma Página, ... ou outra coisa?

Por exemplo:

<h1>About us</h1>

<p>Example.com is a company specialising in examples, demonstrations,
and canonical stuff.</p>

Se eu quiser que esse parágrafo seja editável, presumivelmente eu preciso de algo como:

<h1>About us</h1>

<p><?php insert_page('name-of-content-chunk'); ?></p>

Atualização 2

OK, depois de muita pesquisa, tentativa e erro, incluí o seguinte:

  1. Wordpress é não configurado para facilmente replicar um CMS clássico, particularmente no que diz respeito a ter várias partes de conteúdo em uma página.
  2. Este modelo pode ser imitado, mais ou menos, usando posts customizados (veja abaixo)
  3. No entanto, as páginas quase oferecem a capacidade de fazer isso:
    • Um plugin é necessário apenas para incluir uma página
    • As páginas não parecem ser tão flexíveis quanto as postagens - por exemplo, nenhum tipo de página personalizada

O método que usei, usando tipos de postagem personalizados, é amplamente o seguinte:

  1. A página é uma 'Página' com um modelo personalizado - chame-a de 'mypage.php'
  2. Esse modelo contém o seguinte:
    <div id = "header"> 
     <? php 
     query_posts (array ('nome' => 'foo', 'post_type' => 'texto do cabeçalho')); 
     get_template_part ('cabeçalho-texto'); 
    ?> 
     </ div> 
     
     <div id = "content"> 
     <p> Alguma cópia estática no modelo que pode 
     ser alterada apenas pelo administrador do site. </ p> 
     
     <? php 
     query_posts (array ( 'name' => 'bar', 'post_type' => 'imagem')); 
     get_template_part ('image'); 
    ?> 
     </ div> 
    

Isso faz sentido para alguém por aí? :-)

10
Bobby Jack

Como tnorthcutt mencionou, você pode querer usar tipos de postagem personalizados . No entanto, você também deve dar uma olhada em campos personalizados , o que permitirá que você especifique bits de dados personalizados dinâmicos que deseja associar a cada página. Aqui está o tutorial Smashing Magazine em campos personalizados, Nettuts ' tuturial (e video ), e uma lista de outros tutoriais.

3
Virtuosi Media

Se entendi corretamente, você quer ter layouts diferentes para páginas diferentes. Você pode conseguir isso com um modelo personalizado para cada página do site ou com uma única página personalizada, com várias condições.
Para a primeira opção, consulte a seção Codex do WordPress sobre as páginas de modelo personalizado: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

Para o segundo, veja este tutorial: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

Então, você pode mover esses "pedaços" para diferentes arquivos PHPque você inclui em suas páginas específicas.

1
Alex

Eu acho que sua melhor aposta é usar tipos de post personalizado .

1
Travis Northcutt

Dê uma olhada em um plugin como o Magic Fields. Ele usa campos personalizados internamente, mas a interface pode ter editor de texto rico, lista suspensa, etc.

Isso permite que você defina seus elementos de conteúdo, seus tipos e (para escolhas) seus valores. Então, seu tema pode exibi-lo.

Uma alternativa seria ter uma área de plugin definida e decidir qual plug-in iria lá. Isso é menos flexível, já que ainda não permite duas páginas/conteúdo específico para postagens.

1
Alexandre Rafalovitch

O melhor plugin para adicionar áreas de conteúdo personalizado sem dor além do título e conteúdo é provavelmente o plugin "More Fields".

1
David