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?
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,
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>
OK, depois de muita pesquisa, tentativa e erro, incluí o seguinte:
O método que usei, usando tipos de postagem personalizados, é amplamente 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í? :-)
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.
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.
Eu acho que sua melhor aposta é usar tipos de post personalizado .
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.
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".