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:
- Wordpress nie jest skonfigurowany do łatwej replikacji klasycznego CMS, szczególnie w odniesieniu do posiadania kilku fragmentów treści na jednej stronie.
- Ten model można naśladować, mniej więcej, za pomocą niestandardowych postów (patrz poniżej)
- 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:
- Strona jest „Stroną” z niestandardowym szablonem - nazwij ją „mypage.php”
- 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 ? :-)
Odpowiedzi:
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.
źródło
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.
źródło
Myślę, że najlepszym rozwiązaniem jest użycie niestandardowych typów postów .
źródło
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.
źródło
Najlepszą wtyczką do bezbolesnego dodawania niestandardowych obszarów treści poza tytułem i treścią jest prawdopodobnie wtyczka „Więcej pól”.
źródło