Wsparcie » Używanie i konfiguracja WordPressa » Nie widoczny panel boczny na stronie

  • Witam serdecznie, mam pytanie odnośnie panelu bocznego. Ustawiłam wszystko co potrzebuję, żeby pojawiło się w panelu bocznym ale niestety nie pojawia mi się on na stronie. Czy powinnam zainstalować jakąś wtyczkę do tego dodatkową?

    Przy okazji drugi problem mam z obrazkiem wyróżniającym. Chciałabym aby na stronie pojawiała się miniaturka zdjęcia do wpisu ale po otwarciu wpisu już nie chcę tego zdjęcia mieć jeszcze raz nad wpisem bo jest duże i nie w tym miejscu, w którym bym chciała. Wolę dodać sobie zdjęcie takiej wielkości jak ja chcę i przy wpisie. Poza tym zdjęcie wyróżniające również pojawia się automatycznie w featured slides a tam chcę mieć inne zdjęcie, z innego posta i tylko jedno. Co można z tym zdobić?

    Będę bardzo wdzięczna za pomoc.
    Pozdrawiam

Viewing 3 replies - 1 through 3 (of 3 total)
  • Żeby to, co wrzucisz do panelu bocznego w kokpicie pojawiło się na stronie, ten widżet musi być wywołany w plikach twojego motywu – tą funkcją:

    dynamic_sidebar()

    Czy takowa znajduję się gdzieś w plikach?

    Dalej.
    Pasek boczny programiści najczęściej wystawiają do pliku sidebar.php a ten dowiązywany jest funkcją: get_sidebar().

    Dlatego ten sam pasek boczny może być widoczny zarówno na stronach: plik page.php, jak i we wpisach: plik single.php, ale to wszystko zalezy od tego, jak został zakodowany szablon… tj motyw, skórka, templatka.

    https://developer.wordpress.org/reference/functions/dynamic_sidebar/

    Przy okazji drugi problem mam z obrazkiem wyróżniającym

    Tu też nie obędzie sie bez grzebania w kodzie. Najszybciej takie rzeczy załatwia sie poprostu usuwając fragment kodu z pliku motywu.

    Dlatego, że ja nie wiem jaki masz motyw, podpowiem ci tylko tak: szukaj funkcji the_post_thumbnail() gdzieś w plilu single.php.

    bo jest duże i nie w tym miejscu, w którym bym chciała

    Do w.w. funkcji możesz dodawać własne parametry i w ten sposób modyfikować rozmiary obrazka. Np teraz jest za duży?

    Do wyboru masz killa rozmiarów:

    //Default WordPress
    the_post_thumbnail( 'thumbnail' );     // Thumbnail (150 x 150 hard cropped)
    the_post_thumbnail( 'medium' );        // Medium resolution (300 x 300 max height 300px)
    the_post_thumbnail( 'medium_large' );  // Medium Large (added in WP 4.4) resolution (768 x 0 infinite height)
    the_post_thumbnail( 'large' );         // Large resolution (1024 x 1024 max height 1024px)
    the_post_thumbnail( 'full' );          // Full resolution (original size uploaded)
     

    A jak to nie wysyarczy to zawsze możesz utworzyć własny, używając tej funkcji:
    add_image_size(), lub określić wymiary w kokpicie (patrz: Ustawienia -> Media

    • Odpowiedź została zmodyfikowana 3 months, 3 weeks temu przez Paweł. Powód: Dodałem cytat

    Dziękuję za odpowiedź.
    Znalazłam plik sidebar-right.php, tutaj jest wszystko co jest tam zawarte na tą chwilę: <?php

    // get layout
    $bard_sid = bard_page_layout();

    // check if available
    if ( ! is_active_sidebar( ‚sidebar-right’ ) || ( strpos( $bard_sid, ‚rsidebar’ ) === false && strpos( $bard_sid, ‚lrsidebar’ ) === false ) ) {
    return;
    }

    ?>

    <div class=”sidebar-right-wrap”>
    <aside class=”sidebar-right”>
    <?php dynamic_sidebar( ‚sidebar-right’ ); ?>
    </aside>
    </div>

    i wciąż mi się nic nie wyświetla. Przez chwilę nawet miałam pasek kategorii i archiwa, potem gdy wstawiłam mp4 tamte znikneły a mp4 nie chciał się usunąć. teraz nagle nie mam niczego.

    Tak mam na page.php:

    <?php // Sidebar Right

    if ( get_field( ‚show_page_sidebar’ ) !== ‚fullwidth’ ) {
    if ( get_field( ‚show_page_sidebar’ ) === ‚rsidebar’ || get_field( ‚show_page_sidebar’ ) === ‚lrsidebar’ ) {
    get_template_part( ‚templates/sidebars/sidebar’, ‚right’ );
    }
    }

    ?>

    a tak mam na single.php:

    <?php // Sidebar Right

    if ( get_field( ‚hide_post_sidebar’ ) !== ‚yes’ ) {
    get_template_part( ‚templates/sidebars/sidebar’, ‚right’ );
    }

    ?>

    Czy ja tutaj coś powinnam dopisać, zmienić usunąć? Dla mnie to kodowanie to czarna magia. Nie umiem się w tym za bardzo odnaleźć. Wolę wizualne ustawienia.

    Odnośnie drugiej sprawy. Mój motyw to Bard Pro. Natomiast w pliku single.php mam tylko to:
    <?php

    get_header();

    if ( get_field( ‚hide_post_sidebar’ ) === ‚yes’ ) {
    $blog_single_layout = ‚fullwidth’;
    } else {
    $blog_single_layout = bard_page_layout();
    }

    ?>

    <div class=”main-content clear-fix<?php echo ( bard_options( ‚general_single_width’ ) === ‚boxed’ && get_field( ‚full_width_post_content’ )!== ‚yes’ ) ? ‚ boxed-wrapper’: ”; ?>” data-layout=”<?php echo esc_attr( $blog_single_layout ); ?>” data-sidebar-sticky=”<?php echo esc_attr( bard_options( ‚general_sidebar_sticky’ ) ); ?>” data-sidebar-width=”<?php echo esc_attr( bard_options( ‚general_sidebar_width’ ) ); ?>”>

    <?php

    // Sidebar Left
    if ( get_field( ‚hide_post_sidebar’ ) !== ‚yes’ ) {
    get_template_part( ‚templates/sidebars/sidebar’, ‚left’ );
    }

    ?>

    <!– Main Container –>
    <div class=”main-container”>

    <?php

    // Single Post
    get_template_part( ‚templates/single/post’, ‚content’ );

    // Author Description
    if ( bard_options( ‚single_page_show_author_desc’ ) === true ) {
    get_template_part( ‚templates/single/author’, ‚description’ );
    }

    // Single Navigation
    if ( bard_options( ‚single_page_show_author_nav’ ) === true ) {
    get_template_part( ‚templates/single/single’, ‚navigation’ );
    }

    // Related Posts
    if ( bard_options( ‚single_page_related_orderby’ ) !== ‚none’ ) {
    bard_related_posts( bard_options( ‚single_page_related_title’ ), bard_options( ‚single_page_related_orderby’ ) );
    }

    // Comments
    if ( bard_options( ‚single_page_show_comments_area’ ) === true ) {
    get_template_part( ‚templates/single/comments’, ‚area’ );
    }

    ?>

    </div><!– .main-container –>

    <?php // Sidebar Right

    if ( get_field( ‚hide_post_sidebar’ ) !== ‚yes’ ) {
    get_template_part( ‚templates/sidebars/sidebar’, ‚right’ );
    }

    ?>

    </div>

    <?php get_footer(); ?>

    to jest cała zawartość.
    Dodatkowo jak otwieram post ze strony głównej to jeden otwiera mi się na całej stronie a drugi z miejscem na sidebar po prawej stronie i też nie wiem jak to zmienić, żeby wszystkie otwierały się w nowym oknie tak samo.

    Będę bardzo wdzięczna za wszelkie informacje.

    Pozdrawiam

    Jak widzisz, masz tak kilka warunków, które muszą być spełnione.
    Najpierw plik sidebar-right.php.

    Żeby nie pojawił się pasek boczny (który ma identyfikator o nazwie ‚sidebar-right’) muszą być spełnione te warunki, które znajdują się w nawiasach, inaczej wszystko zatrzyma się na return, czyli kod, który znajduje się po tym, nie zostanie wykonany:

    // check if available
    if ( ! is_active_sidebar( ‚sidebar-right’ ) || ( strpos( $bard_sid, ‚rsidebar’ ) === false && strpos( $bard_sid, ‚lrsidebar’ ) === false ) ) {
    return;
    }

    Rozpiszę Ci to na części, żeby było łatwiej.

    Najpierw to:

    ! is_active_sidebar( ‚sidebar-right’ )

    Funkcja is_active_sidebar sprawdza, czy sidebar-right jest „pełny” tj. czy coś tam do niego dodałaś. Jeżeli tak, funkcja zwraca true. Dla if, warunek jest spełniony, bo funkcja if zawsze sprawdza prawdę lub fałsz w takim znaczeniu, że jeżeli coś jest prawdą (true) to tylko wtedy wykonuje kod w nawiasach klamrowych {}. Jeżeli jest false, kod nie zostanie wykonany.

    Ale, jak zapewne zauważyłaś, przed funkcją został postawiony wykrzyknik !.

    Co to oznacza?

    Wykrzyknik zamienia sygnały miejscami tj. jak było true, to jest false i na odwrót.
    W PHP jest to bardzo pomocny operator, ale jednocześnie zwodniczy, bo trzeba się dobrze pilnować w tych logicznych warunkach, aby się nie pogubić.

    Ale to nie w tym rzecz, bo nawet sama funkcja warunkowa została napisana tak, że kiedy zostaną spełnione wszystkie warunki (true), kod po niej nie zostanie wykonany, bo funkcja zwraca return, czyli wszystko to co po return, nie zostanie wyświetlone.

    Czyli dalej rozpisując warunki, w kolejnych nawiasach masz:

    ( strpos( $bard_sid, ‚rsidebar’ ) === false && strpos( $bard_sid, ‚lrsidebar’ ) === false )

    Dwa kolejne warunki muszą się niezgadzać tj mają zwracać wartość false, aby dla if’a było to potraktowane jako true (pokręcone prawda?).
    Warunek mówi o jakimś ustawieniu: rsidebar i lrsidebar.
    To na nich należało by się skupić, aby odgadnąć, co autor miał na myśli.
    A tego się nie dowiemy, bo na samym początku pliku, do zmiennej $bard_sid jest przypisywana jakaś informacja.

    `// get layout
    $bard_sid = bard_page_layout();`

    Można się tylko domyśleć, że chodzi o jakieś dodatkowe ustawienia w motywie. Ustawienia, które prawdopodobnie musisz sobie… ustawić? gdzieś w kokpicie. Ty musisz sobie jeszcze ten motyw dostosować, gdzieś jeszcze pogrzebać. Bo jak widać, samo dodanie widżeta, nie działa.

    Ale tego ja też się nie dowiem, bowiem jak wskazuje na dopisek Pro, po nazwie motywu, jest to wersja płatna, a do płatnych wersji my (wolontariusze z forum WordPressa) nie mamy dostępu.

    To samo tyczy się kolejnych plików (i warunków).

    Zobacz. Na przykład to:

    // Sidebar Left
    if ( get_field( ‚hide_post_sidebar’ ) !== ‚yes’ ) {
    get_template_part( ‚templates/sidebars/sidebar’, ‚left’ );
    }

    get_fieldto funkcja wtyczki ACF,a więc jak sama widzisz, znów jakieś kolejne ustawienia.
    W tym przypadku, jeżeli hide_post_sidebar nie jest true, czyli jeżeli pole nie jest zaznaczone (checkbox) co dla if’a będzie prawdą, wtedy dopiero pojawi się sidebar left. Czyli jak zaznaczysz opcję: hide_post_sidebar to ten pasek się nie pojawi, bo hide oznacza ukryć.

    Czyli powinnaś szukać opcji: ukryj pasek boczny, albo może po prostu zainstalować wtyczkę Advanced Custom Fields, bo może tylko o to chodzi.
    Chociaż z drugiej strony… to też by nie działało, bo by błąd wywalało, że taka funkcja nie istnieje..

    Jedno jest pewne. Musisz sobie sama dobrze ogarnąć ten motyw, albo napisać do autora – twórcy motywu (na pewno mają stronę z dokumentacją), albo zlecić ustawienie programiście.

Viewing 3 replies - 1 through 3 (of 3 total)