¿Cómo represento 'fragmentos' de contenido dentro de Wordpress?

10

Solo he usado wordpress como una plataforma de blogs autohospedada, hasta ahora. Tengo el requisito de usarlo para un CMS muy básico que constará de ~ 10 páginas, la mayoría de las cuales será contenido estático, actualizado periódicamente. Necesitaré la capacidad de cargar documentos, incrustar imágenes, editar copias usando el editor de texto, prácticamente todas las características estándar que ofrece WordPress.

Sin embargo, tengo dificultades para resolver el problema de editar secciones específicas dentro de una página, en particular, solo saber por dónde empezar. Un CMS 'normal' tradicionalmente dividiría una página en secciones separadas y me permitiría editar cualquiera de esas secciones, ya sea editando directamente el contenido o incluyendo contenido compartido en ese lugar. No puedo descubrir cómo hacer esto usando wordpress.

¿Es posible 'estirar' el modelo de página para que una página sea en realidad solo una porción de contenido, se incluya por una página / plantilla específica y, de alguna manera, esté protegida de ser vista directamente? comienzo).

¿Alguna sugerencia sobre dónde comenzar?

Actualizar

Para aclarar, imagine una publicación de blog estándar de WordPress. Imagina que es un contenido estático. Suponga que desea que un editor pueda cambiar solo el primer párrafo de esa publicación de blog. Ahora,

  • ¿El contenido estático de esa página debe estar en una publicación, página, plantilla u otra cosa?
  • ¿Debería el contenido editable ser una Página, ... u otra cosa?

Por ejemplo:

<h1>About us</h1>

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

Si quiero que ese párrafo sea editable, presumiblemente necesito algo como:

<h1>About us</h1>

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

Actualización 2

OK, después de mucha investigación, prueba y error, he incluido lo siguiente:

  1. Wordpress no está configurado para replicar fácilmente un CMS clásico, particularmente con respecto a tener varias piezas de contenido en una página.
  2. Este modelo se puede imitar, más o menos, usando publicaciones personalizadas (ver más abajo)
  3. Sin embargo, las páginas casi ofrecen la posibilidad de hacer esto:
    • Se requiere un complemento solo para incluir una página
    • Las páginas no parecen ser tan flexibles como las publicaciones, por ejemplo, no hay tipos de páginas personalizadas.

El método que he usado, usando tipos de publicaciones personalizadas, es el siguiente:

  1. La página es una 'Página' con una plantilla personalizada: llámela 'mypage.php'
  2. Esa plantilla contiene lo siguiente:
    <div id = "encabezado">
      <? php
        query_posts (array ('name' => 'foo', 'post_type' => 'header-text'));
        get_template_part ('encabezado-texto');
      ?>
    </div>
    
    <div id = "content">
      <p> Alguna copia estática en la plantilla que puede
      solo puede ser cambiado por el administrador del sitio. </p>
    
      <? php
        query_posts (array ('name' => 'bar', 'post_type' => 'image'));
        get_template_part ('imagen');
      ?>
    </div>
    

¿Tiene sentido para alguien por ahí? :-)

Bobby Jack
fuente
Las preguntas de Wordpress están perfectamente bien aquí, a menos que profundicen demasiado en la programación.
Tim Post

Respuestas:

3

Como mencionó tnorthcutt, es posible que desee utilizar tipos de publicaciones personalizadas . Sin embargo, también debe echar un vistazo a los campos personalizados , que le permitirán especificar bits de datos personalizados dinámicos que desea asociar con cada página. Aquí está el tutorial de Smashing Magazine sobre campos personalizados, el tutorial de Nettuts (y el video ) y una lista de otros tutoriales.


fuente
Echaré un vistazo a los tipos de publicaciones personalizadas. El problema con los campos personalizados, si los entiendo correctamente, es que, en el peor de los casos, son solo texto sin formato y, en el mejor de los casos, no ofrecen edición WYSIWYG.
Bobby Jack el
También sería aconsejable asegurarse de que esté familiarizado con las taxonomías personalizadas y cómo funcionan con los tipos de publicaciones personalizadas.
Travis Northcutt
1

Si entendí correctamente, desea tener diferentes diseños para diferentes páginas. Puede lograr esto ya sea teniendo una plantilla personalizada para cada página del sitio o teniendo una sola página personalizada, con varias condiciones.
Para la primera opción, consulte la sección Codex de WordPress con respecto a las páginas de plantillas personalizadas: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

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

Luego, puede mover estos "fragmentos" a diferentes archivos PHP que incluya en sus páginas específicas.


fuente
Hmm ... echaré un vistazo a los enlaces, pero no estoy completamente seguro de haberme explicado correctamente. Esencialmente, necesito trabajar con el contenido más 'atómico' posible; algo que cualquier otro CMS que he usado hace muy fácil. He actualizado la pregunta en un intento de explicarla mejor.
Bobby Jack
Si desea que el contenido sea estático (y por estático quiero decir HTML simple no servido desde una base de datos, como las publicaciones de WordPress) pero aún así desea modificarlo, luego agregue los fragmentos a la plantilla. De lo contrario, póngalo en una página y listo.
y si quiero que esos fragmentos sean editables WYSIWYG?
Bobby Jack el
1

Echa un vistazo a un complemento como Magic Fields. Utiliza campos personalizados internamente, pero la interfaz puede tener un editor de texto enriquecido, una lista desplegable, etc.

Esto le permite definir sus elementos de contenido, sus tipos y (para opciones) sus valores. Entonces, su tema puede mostrarlo.

Una alternativa sería tener un área de plugin definida y decidir qué plugin iría allí. Sin embargo, eso es menos flexible, ya que todavía no permite dos piezas de contenido específico de página / publicación.

Alexandre Rafalovitch
fuente
1

El mejor complemento para agregar sin problemas áreas de contenido personalizado más allá del título y el contenido es probablemente el complemento "Más campos".


fuente