Jak reprezentować „fragmenty” treści w Wordpress?


10

Do tej pory używałem tylko WordPressa jako platformy do blogowania. Mam obowiązek używania go do bardzo podstawowego CMS, który będzie składał się z ~ 10 stron, z których większość będzie treścią statyczną, okresowo aktualizowaną. Będę musiał mieć możliwość przesyłania dokumentów, osadzania obrazów, edytowania kopii za pomocą edytora tekstu - prawie wszystkie standardowe funkcje oferowane przez wordpress.

Mam jednak problemy z edycją określonych sekcji na stronie - w szczególności po prostu wiem, od czego zacząć. „Normalny” CMS tradycyjnie podzieliłby stronę na osobne sekcje i pozwoliłby mi edytować dowolną z tych sekcji, albo bezpośrednio edytując treść, albo włączając w to miejsce udostępnioną treść. Nie mogę się dowiedzieć, jak to zrobić za pomocą wordpress.

Czy możliwe jest „rozciągnięcie” modelu strony, tak aby strona była w rzeczywistości tylko fragmentem treści, została uwzględniona przez określoną stronę / szablon i - w jakiś sposób - była chroniona przed bezpośrednim wyświetleniem (usunięcie go z menu nawigacyjnych jest początek).

Jakieś wskazówki, od czego zacząć?

Aktualizacja

Aby to wyjaśnić, wyobraź sobie standardowy post na blogu wordpress. Udawaj, że to statyczny fragment treści. Załóżmy, że chcesz, aby redaktor mógł zmienić tylko pierwszy akapit tego posta na blogu. Teraz,

  • czy statyczna zawartość na tej stronie powinna być w postu, stronie, szablonie lub w czymś innym?
  • czy treść do edycji powinna być stroną, ... czy czymś innym?

Na przykład:

<h1>About us</h1>

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

Jeśli chcę, aby ten akapit był edytowalny, prawdopodobnie potrzebuję czegoś takiego:

<h1>About us</h1>

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

Aktualizacja 2

OK, po wielu badaniach, próbach i błędach zamieściłem następujące informacje:

  1. Wordpress nie jest skonfigurowany do łatwej replikacji klasycznego CMS, szczególnie w odniesieniu do posiadania kilku fragmentów treści na jednej stronie.
  2. Ten model można naśladować, mniej więcej, za pomocą niestandardowych postów (patrz poniżej)
  3. Jednak strony prawie oferują taką możliwość:
    • Aby dołączyć stronę, wymagana jest wtyczka
    • Strony nie wydają się być tak elastyczne jak posty - np. Brak niestandardowych typów stron

Metoda, której użyłem, używając niestandardowych typów postów, wygląda następująco:

  1. Strona jest „Stroną” z niestandardowym szablonem - nazwij ją „mypage.php”
  2. Ten szablon zawiera następujące elementy:
    <div id = "header">
      <? php
        query_posts (array ('name' => 'foo', 'post_type' => 'header-text'));
        get_template_part („tekst nagłówka”);
      ?>
    </div>
    
    <div id = "content">
      <p> Niektóre statyczne kopie w szablonie, które mogą
      może zostać zmieniony tylko przez administratora witryny. </p>
    
      <? php
        query_posts (array ('name' => 'bar', 'post_type' => 'image'));
        get_template_part ('image');
      ?>
    </div>
    

Czy to ma sens dla kogokolwiek ? :-)


Pytania Wordpress są tutaj w porządku, chyba że zbytnio zagłębią się w programowanie.
Tim Post

Odpowiedzi:


3

Jak wspomniano wcześniej, możesz użyć niestandardowych typów postów . Jednak należy również spojrzeć na pola niestandardowe , które pozwolą Ci określić fragmenty dynamicznych danych niestandardowych, które chcesz powiązać z każdą stroną. Oto samouczek Smashing Magazine na temat niestandardowych pól, tuturial (i wideo ) Nettuts oraz lista innych samouczków.


Zajrzę do niestandardowych typów postów. Problem z polami niestandardowymi, jeśli dobrze je rozumiem, polega na tym, że w najgorszym przypadku są one zwykłym tekstem, aw najlepszym przypadku nie oferują edycji WYSIWYG.
Bobby Jack

Rozsądnie byłoby również upewnić się, że znasz niestandardowe taksonomie i sposób ich działania z niestandardowymi typami postów.
Travis Northcutt

1

Jeśli dobrze zrozumiałem, chcesz mieć różne układy dla różnych stron. Możesz to osiągnąć, mając niestandardowy szablon dla każdej strony witryny lub jedną niestandardową stronę z różnymi warunkami.
Pierwsza opcja znajduje się w sekcji Kodeks WordPress dotyczący stron szablonów niestandardowych: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

W przypadku drugiego zobacz ten samouczek: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

Następnie możesz przenieść te „fragmenty” do różnych plików PHP, które umieszczasz na swoich stronach.


Hmm ... Rzucę okiem na linki, ale nie jestem do końca pewien, czy poprawnie się wytłumaczyłem. Zasadniczo muszę pracować z możliwie najbardziej „atomową” zawartością; coś, co każdy inny CMS, którego używałem, jest bardzo łatwe. Zaktualizowałem pytanie, próbując je lepiej wyjaśnić.
Bobby Jack

Jeśli chcesz, aby treść była statyczna (a przez statyczny mam na myśli zwykły HTML nieobsługiwany z bazy danych - jak posty Wordpress), ale nadal chcesz go zmodyfikować, a następnie dodaj fragmenty do szablonu. W przeciwnym razie umieść go na stronie i to wszystko.

a jeśli chcę, aby te fragmenty były edytowalne WYSIWYG?
Bobby Jack


1

Zobacz wtyczkę, taką jak Magic Fields. Wykorzystuje pola niestandardowe wewnętrznie, ale interfejs może mieć edytor tekstu sformatowanego, listę rozwijaną itp.

Pozwala to zdefiniować elementy treści, ich typy i (do wyboru) ich wartości. Następnie Twój motyw może go wyświetlić.

Alternatywą byłoby zdefiniowanie obszaru wtyczki i zdecydowanie, która wtyczka tam się pojawi. Jest to jednak mniej elastyczne, ponieważ nadal nie pozwala na dwa fragmenty zawartości strony / postu.


1

Najlepszą wtyczką do bezbolesnego dodawania niestandardowych obszarów treści poza tytułem i treścią jest prawdopodobnie wtyczka „Więcej pól”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.