Dvoje komentáře

Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 8 let, 7 měsíců.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #24433

    mil667
    Participant

    Potřebuji jedny komentáře pro příspěvky a druhé pro stránky s odlišným vzhledem. Jak komentáře do stránek vložit a jak je upravit vím. Potřebuji poradit jakým způsobem vytvořit nové odlišné komentáře pro stránky.

    #24436

    sjiamnocna
    Participant
    Web

    Každá stránka (příspěvek, či cokoliv) má vlastní komentáře (nekomentujete celý web – to by nefungovalo)

    Pokud jde o vzhled – CSS řešení (struktura stejná, vzhled jiný), můžete použít třídu, která je automaticky přidávána do prvku BODY funkcí body_class:

    <body class="page page-id-85 page-template-default logged-in admin-bar no-customize-support custom-background has-sidebar">
    

    …CSS…
    body.page #wrapper .content .comments{ ... }
    a
    body.post #wrapper .content .comments{ ... }

    Nebo můžete využít šablonové soubory single.php a page.php, a upravit parametry funkce wp list comments.

    Můžete použít i soubor comments.php, kde nastavíte u wp_list_comments podmínky is_page() nebo is_singular(‘post’)

    #24452

    mil667
    Participant

    Díky za reakci. Potřebuji i odlišné položky ve formuláři. Jiné pro příspěvky a jiné pro stránky. Hledám jestli by šlo udělat kopii comments.php, upravit a vložit do page.php např. jako comments_1.php. Pokud někdo znáte řešení předem díky za radu.

    #24454

    sjiamnocna
    Participant
    Web

    Tak to by taky asi šlo, ale nevím, jestli není lepší použít ty podmínky v jednom comments.php.

    Můžete udělat to, že načtete komentáře s parametrem souboru:
    comments_template('inc/comments-page.php')
    tím se načte soubor, který zvolíte namísto comments.php

    Potom by to mohlo vypadat třeba takto:

    
    switch(get_post_type()){
    case 'page':
     $file = 'comments-page.php';
    break;
    case 'post':
     $file = 'comments-post.php';
    break;
    default:
     $file = 'comments.php';
    break;
    }
    comments_template($file);
    

    Case si můžete libovolně přidat pro každý typ obsahu (jen potom přidejte i správný soubor :) )

    Možná jednodušší by bylo přidávat tam přímo post type:

    
    $pt = get_post_type();
    $file = (file_exists('comments-'.$pt)) ? "comments-$pt" : 'comments.php';
    
    comments_template($file);
    
Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti