Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Jak do rss výpisu přidat odkaz na článek
Štítky: RSS, url článku
Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 15 let, 2 měsíce.
-
AutorPříspěvky
-
2. srpna 2011 (16:10) #1081
Ahoj, jsem tu s další perličkou :) Jak dostat do výpisu RSS i odkaz na daný článek? Jde to udělat? A pomohl by mi s tím někdo?
Přečetl jsem si zde Váš návod na úpravu RSS obsahu ale nejde mi do výpisu přidat odkaz na ten článek.
Potřebuji tam mít odkaz na ten daný článek ve tvaru Přečíst celý článek.
Předem děkuji za pomoc.
4. srpna 2011 (11:03) #8794Mělo by to jít vcelku jednoduše, a to přidáním vlastních funkcí do souboru functions.php (případně vytvořením samostatného pluginu).
1) Nejdříve nadefinujeme funkci s odkazem:
function separatista_odkaz_cely_clanek() {
return ' <a href="'. esc_url( get_permalink() ) . '">Přečíst celý článek</a>';
}2) Odkaz zobrazíme v RSS zdroji (zcela na konci) pomocí filtru the_excerpt_rss:
function separatista_vlozit_odkaz_rss( $content ) {
$content .= separatista_odkaz_cely_clanek();
return $content;
}
add_filter( 'the_excerpt_rss', 'separatista_vlozit_odkaz_rss' );3) Nakonec ještě odstraníme výchozí odkaz pro pokračování článku […] v případě automatického oříznutí, a to pomocí filtru excerpt_more:
function separatista_vlastni_znacka_more( $more ) {
if ( is_feed() ) {
$more = '';
}
return $more;
}
add_filter( 'excerpt_more', 'separatista_vlastni_znacka_more' );Předpokladem funkčnosti je nastavení RSS v menu Nastavení – Zobrazování – Položky v RSS zobrazovat jako – Pouze několik úvodních vět. V případě jiného nastavení by se musel kód trochu upravit a použít jiné filtry…
Víceméně stejného řešení lze dosáhnout i pomocí filtrů get_the_excerpt (s podmínkou is_feed() pro omezení na RSS zdroj) a opět excerpt_more. Ale výše uvedená ukázka by měla fungovat také, vyzkoušejte…
Upravil admin, doplněna uvozovka.
4. srpna 2011 (11:25) #8795Aha, no ale pokud toto zadám do functions.php, (tak mi to v editoru – dreamweaver – ukáže syntaxe error) dělám to správně, či nikoliv?
function separatista_odkaz_cely_clanek() {
return ' <a href="'. esc_url( get_permalink() ) . '">Přečíst celý článek</a>';
}
function separatista_vlozit_odkaz_rss( $content ) {
$content .= separatista_odkaz_cely_clanek();
return $content;
}
add_filter( the_excerpt_rss', 'separatista_vlozit_odkaz_rss' );
function separatista_vlastni_znacka_more( $more ) {
if ( is_feed() ) {
$more = '';
}
return $more;
}
add_filter( 'excerpt_more', 'separatista_vlastni_znacka_more' );4. srpna 2011 (11:27) #8796tu chybu mi to ukazuje u řádku
add_filter( the_excerpt_rss', 'separatista_vlozit_odkaz_rss' );4. srpna 2011 (11:36) #8797tu chybu mi to ukazuje u řádku add_filter( the_excerpt_rss’, ‘separatista_vlozit_odkaz_rss’ );
Nechybí tam levá uvozovka?
4. srpna 2011 (11:42) #8798pravda :) chyběla tam uvozovka před
the_excerpt_rss'Díky moc nyní to funguje ;)
4. srpna 2011 (11:53) #8799 -
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.