Podobné články tak trochu jinak


Teď doufám, že se googlebot neurazí a nepřestane mi indexovat stránky. Občas je nutné vybrat podobný článek manuálně. A k tomu by měl sloužit mnou vytvořený shortcode.

Upoutávka je opravdu veliká a obsahuje i náhledový obrázek, takže opravdu nehrozí, že by si ji návštěvník nevšimnul. Z tohoto hlediska je výhodnější, než nenápadný odkaz kdesi v textu. Ostatně, upoutávku jsem dal i do tohoto článku, takže si ji můžeme prohlédnout. Jak si ji nastylujete už záleží na vás.

Jak vypadá samotné použití? Použijete shortcode clanek, kde atributem je “id”, do než vložíte idčko požadovaného článku. Dejme tomu, že chcete vypsat článek s ID 197. Shortcode bude vypadat takto: [clanek id=197]

Script, který vložíte do functions.php

function clanek_func($atts) {
    extract(shortcode_atts(array(
                'id' => '',
                    ), $atts));
    if ($id > 0) {
        $the_query = new WP_Query("p=" . $id);
        $return = "";
        while ($the_query->have_posts()) {
            $the_query->the_post();
            $return .= "
                <div>
                    <p>Nepřehlédněte!</p>
                    <a href='" . get_permalink() . "' title='" . get_the_title() . "'>
                        " . get_the_post_thumbnail(get_the_ID(), 'thumbnail') . "
                    </a>
                    <h3>
                        <a href='" . get_permalink() . "' title='" . get_the_title() . "'>
                            " . get_the_title() . "
                        </a>
                    </h3>
                    <p>" . get_the_excerpt() . "</p>
                    <div style='clear: both'></div>
                </div>";
        }
        wp_reset_postdata();
    }
    return $return;
}

add_shortcode('clanek', 'clanek_func');

A příklad stylu, který jsem použil:

.ctete {padding: 10px; border: 1px solid #AAA; background: #EEE; border-radius: 4px; margin: 30px 0 20px 0}
.ctete img {float: left; margin: 0 10px 10px 0; border: 1px solid #AAA; border-radius: 4px;}
.ctete h3 {display: inline; clear: none}
.ctete .poutac {float: right; border-radius: 4px; padding: 5px; background: white; border: 1px solid black; margin: -30px 0 0 0 !important; font-weight: bold}

2 responses to “Podobné články tak trochu jinak”

  1. Toto by se mi také hodilo na stránky. Můžu se zeptat, kam přesně do functions.php to vložit? Děkuji.

    • Nejjednodušší to je úplně za začátek nebo úplně nakonec. Akorát to musí být obaleno tagy