Podobné články tak trochu jinak

V rubrice: Tipy & Triky

Určitě znáte spoustu různých pluginů, které vypisují podobné články. Je to většinou prosté, jednoduché a plně automatické. Pokud se trefí do návštěvníkova zájmu, udržíte si ho a on vám neodkráčí už na první stránce. Články ale vybírá počítač a ten je občas prostě tak trochu hloupý.

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}
V rubrice: Tipy & Triky

Komentáře

  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.

    1. Nejjednodušší to je úplně za začátek nebo úplně nakonec. Akorát to musí být obaleno tagy < ?php a ?>

Comments are closed.