Odpowiedź forum utworzona

Viewing 13 replies - 286 through 298 (of 298 total)
  • @amistad18, wygląda na to że @piotrrek używa kategorii na swojej stornie. W takim razie ja nadal nie kumam, co to znaczy „prowadzić dwa blogi” albo „dodać kolejny odnośnik, który będzie prowadził do jakiegoś działu z wpisami.” @piotrrek, możesz to rozwinąć?

    Sory, rozwaliłam wpis niechcący. Jeszcze raz:

    Musisz to rozdzielić na 2 menu. W zarządzaniu Menu (Wygląd->Menu) da się tworzyć wiele menu (WP od 3.0 to umożliwia), ale wcześniej trzeba WP powiedzieć, że tych menu będzie więcej – w pliku functions.php musi się znaleźć coś na kształt tego:

    function register_my_menus() {
    	register_nav_menus(
    		array(
    			'primary-menu' => __( 'Primary Menu' ),
    			'secondary-menu' => __( 'Secondary Menu' )
    		)
    	);
    }

    a potem w pliku header.php lub sidebar.php (w zależności który plik u Ciebie odpowiada za wyświetlanie menu) każde z nich wyświetlić za pomocą czegoś takiego:

    <?php wp_nav_menu( array( 'container_class' => 'menu-1', 'theme_location' => 'primary-menu' ) ); ?>
    
    <?php wp_nav_menu( array( 'container_class' => 'menu-2', 'theme_location' => 'secondary-menu' ) ); ?>

    Czy to jest jakiś gotowy motyw czy sam go pisałeś? Jakiej wersji WP używasz? Jeśli sam robiłeś motyw i użyłeś WP 3.0 lub wyżej, to bardzo wygodnie steruje się wyglądem menu poprzez Wygląd->Menu. Sam decydujesz o wszystkim: gdzie trafia która strona, gdzie kategoria itd.

    Jeśli 2 blogi w jednym, to najlepiej wejść w tryb Multisite. WordPress od wersji 3.0 to umożliwia.

    Polecam świetny videotutorial:

    z /%postname%/ jest wszystko ok, błąd musi być związany z wyświetlaniem pojedynczych postów. Czy masz plik single.php?

    Jeśli chodzi Ci o adresy typu
    domena.pl/firma/
    domena.pl/kontakt/
    domena.pl/uslugi
    domena.pl/akrtykuly/jak-zrobic-adresy-url itd.

    to wchodzisz w Ustawienia->Bezpośrednie odnośniki i w Ogólnych ustawieniach w polu Własny format wpisujesz /%postname%/

    betamat, zgadza się. Plaginy tłumaczeniowe pod WP pozostawiają wiele do życzenia. Ale od momentu kiedy przeczytałam, jak autor któregoś z nich napisał wprost, że nie będzie go dalej poprawiał, bo weszła wersja 3.0 WP i tłumaczenia teraz robi się na osobnych site’ach, to sama zaczęłam robić tłumaczenia tylko w oparciu od WP Multisite.

    Jak chcesz zobaczyć, jak to się do tego zabrać, to zerknij na mój tutorial:
    http://webfaces.pl/blog/witryna-wielojezyczna-oparta-na-wordpress-bez-wtyczek-tutorial/

    Możesz to zrobić na kilka sposobów:

    Sposób 1.
    a) Tworzysz plik php, (który będzie odpowiadał za wygląd strony głównej) o dowolnej nazwie i wrzucasz do katalogu z Twoim motywem. Ważne jest, żeby pierwsze linie tego źródła zaczynały się od

    <?php
    /*
    Template Name: my-home
    */

    w miejsce my-home wpisz sobie nazwę wg uznania
    b) W panelu admina zakładasz stronę (page) i w okienku po prawej w sekcji Atrybuty strony wybierasz szablon o nazwie, którą podałeś w punkcie a (u mnie: my-home). Jeśli wcześniej źródła pliku php nie zaczniesz, tak jak pokazałam, szablonu tego nie zobaczysz. Co więcej, możesz nie zobaczyć w ogóle pola z wyborem Szablonu.

    W ten sposób możesz zrobić dowolną inną stronę odbiegającą wyglądem od reszty, nie tylko stronę główną.

    Sposób 2.
    Zakładasz plik home.php i wrzucasz do katalogu z Twoim motywem. Nic więcej nie robisz, WordPress sam wybierze ten plik do generowania strony głównej na podstawie zasad hierarchii, które są opisane tutaj:
    http://codex.wordpress.org/Template_Hierarchy

    O pozostałych sposobach również przeczytasz w linku, który podałam wyżej.

    Zrób podgląd źródła i zobacz w jaki sposób jest oznaczony ten link.
    Zwykle linki „Czytaj dalej” mają klasę more-link. Wystarczy, że wejdziesz w edycję pliku style.css i dodasz do odnośników klasy more-link reguły, które ustawią Twój odnośnik tam, gdzie chcesz. Zakładam, że znasz CSS.

    dzikoo, a czy w każdej z podkategorii Oferty będzie tylko jeden wpis czy może być więcej? Jeśli może być ich więcej, to chcesz, żeby na stronie głównej wyświetlały się wszystkie wpisy z danej podkategorii czy tylko pierwszy z każdej?

    W każdy razie jesteś na dobrym tropie. Faktycznie, trzeba zmienić linię $topfeatured->query(’showposts=3′);

    Podam Ci najprostszą formę, żebyś zaskoczył, o co chodzi. Będzie to podanie wprost identyfikatorów kategorii, z których mają być wybierane wpisy, czyli linię:

    $topfeatured->query('showposts=3');

    zamieniamy na

    $topfeatured->query('cat=5,6');
    gdzie w miejscu 5, 6, … należy wstawić identyfikatory pożądanych (pod)kategorii. Wiesz, jak odczytać te identyfikatory w WP?

    Bardziej zaawansowane przykłady budowania query znajdziesz tutaj:
    http://codex.wordpress.org/Function_Reference/query_posts

    Jeśli używasz WordPressa w wersji 3.0 (lub wyższej) możesz w ramach tej samej instalacji mieć dostępnych kilka blogów. Do Ciebie należy decyzja, czy będą one widoczne jako

    podkatalogi np:
    twoja-domena.pl/blog_01
    twoja-domena.pl/blog_02

    czy jako poddomeny np:
    blog_01.twoja-domena.pl
    blog_02.twoja-domena.pl

    Wówczas zachowasz dotychczasowy blog (nie stracisz ani danych, ani dostępu do niego). Będziesz też mógł ustawić tego samego użytkownika i to samo hasło do zarządzania pozostałymi witrynami.

    Jak to zrobić przeczytasz tutaj:
    http://codex.wordpress.org/Create_A_Network

    Niedawno napisałam tutorial w podobnym temacie, tyle że kolejne blogi były wykorzystane do prezentacji treści w innym języku (ang., niem.). ale schemat tworzenia tego (czyli przełączenie w tryb multisite) jest ten sam:
    http://webfaces.pl/blog/witryna-wielojezyczna-oparta-na-wordpress-bez-wtyczek-tutorial/

    Jak zrobić stronę do pojedynczego posta – podaję taki mini-tutorialik. Nie jest to eleganckie rozwiązanie, ale najszybsze:

    1. Piszesz stronę tak, aby pasowała do reszty Twojej witryny (miała menu, jakiś header, stopkę, co tam chcesz) i tak jakby nie miała nic wspólnego z wp. Zostawiasz (planujesz) jedynie miejsce na treść pojedynczego posta.

    2. W miejscu gdzie ma się pojawić treść pojedynczego posta piszesz:

    <div class="single-post">
              <?php while (have_posts()): the_post(); ?>
              <h2><?php the_title(); ?></h2>
              <h3>Autor: <?php the_author_link(); ?></h3>
              <p>Data: <?php the_date(); ?></p>
              <?php the_content(); ?>
              <?php endwhile; ?>
    </div>

    the_content() wyświetli treść całego posta.

    3. Strona docelowo trafi katalogu wp z aktywnym motywem, więc wszystkie ścieżki na tej stronie (do Twojego pliku css, do menu, obrazków itd.) powinny być względem tego katalogu.

    4. Stronę nazywasz single.php

    5. Wrzucasz ją do katalogu wp z aktywnym motywem czyli:
    wp-content/themes/aktywny-motyw-twojego-bloga/

    gdzie aktywny-motyw-twojego-bloga to nazwa aktywnego motywu w Twoim wp.

    Najprawdopodobniej plik o takiej nazwie już tam będzie, więc go zastąp (zachowując uprzednio kopię).
    Po naciśnięciu „Czytaj dalej” na stronie z wszystkimi postami (tej o której pisałam wczoraj) nastąpi przejście do strony odpowiedniego posta.

    Bardziej eleganckie rozwiązanie to zrobienie okrojonego własnego motywu, czyli zestawu plików header.php, footer.php, style.css, itd. zgodnie z regułami wp – a więc to o czym pisał amistad18.

    1. Podstrona Twojej witryny, która ma wyświetlać posty i która – jak zrozumiałam, nie jest posadzona na wp – musi mieć rozszerzenie php (jeśli ma html, to zmień je na php).

    2. Na samej górze źródła tej strony (jeszcze przed <!DOCTYPE…) wpisujesz

    <?php
           // Include WordPress
           define('WP_USE_THEMES', false);
           require('./blog/wp-load.php');
           query_posts('showposts=3');
           ?>

    gdzie:
    ./blog jest względną ścieżką do katalogu, w którym masz WordPressa z tymi wpisami.
    showposts=3 – liczba ostatnich postów (tu akurat 3)

    3. W treści strony w miejscu, gdzie mają się wyświetlać te posty piszesz:

    <div class="article">
              <?php while (have_posts()): the_post(); ?>
              <h2><?php the_title(); ?></h2>
              <h3>Autor: <?php the_author_link(); ?></h3>
              <p>Data: <?php the_date(); ?></p>
              <?php the_excerpt(); ?>
              <p><a href="<?php the_permalink(); ?>">Czytaj dalej..."</a></p>
              <?php endwhile; ?>
    </div>

    the_excerpt(); wyświetli domyślnie 55 pierwszych słów z postu. Można to zmienić stosując filtr excerpt_length filter.

    Znaczniki html-owe <div>, <h2>, <h3>, <p> … dajesz wg uznania, zgodne z konwencją Twojej strony.

    Mam nadzieję, że o to chodziło w Twoim pytaniu. Strona, którą podajesz jako przykład jest zrobiona w całości na wp i to trochę może zmylić.

Viewing 13 replies - 286 through 298 (of 298 total)