Sziasztok, azt szeretném megoldani, hogy például egy kép vagy szöveg vagy like gomb, minden egyes hosszá szólásban megjelenjen automatikusan.
Például azt szeretném, hogy facebookos rajongói oldal like gombja, az minden egyes hozászolásban posztban automatikusan benne legyen
Segítséget előre is köszönöm
Szerintem ezt a wordpress.com jetpack-al is megtudod csinálni,vagy bármelyik fecebook like button pluginnal
Na jó de hogyan? vegyünk alapul egy sima Like plugint.
Kapcsoljam be majd szerkesztés, és oda “valahova” helyezem el azt a képet vagy kódot, amit szeretném, hogy minden postba megjelenjen, vagy hogy?
Szia!
Ha szeretnél képet/szöveget/facebook gombot vagy akármit tenni a post-ok végére vagy elejére, azt meg tudod tenni filterekkel is. Így hívják, ez a nevük.
A filternek az a lényege - belőle nagyon sok van -, hogy mindegyik “valamihez” kapcsolódóan hívódik meg, fut le.
Hogy jobban érthető legyen ez a “valamihez” dolog:
Példa (ami neked is kell):
Van egy olyan filter, hogy the_content. Ez a the_content -filter arra jó, hogy ki tudod egészíteni a postok és oldalak tartalmát anélkül, hogy sablonban kellene ezt külön megtenned.
Ezeket a kódokat, amiket itt írok, a functions.php fájlba kell beírnod! Ez fontos.
Pl:
function content_vegere_div_filter($content) {<br />
<br />
$end_post_html='<p style="color: red">Ez a szöveg minden post/oldal végére beszúródik.</p>';<br />
<br />
return $content.$end_post_html;<br />
}<br />
<br />
add_filter( 'the_content', 'content_vegere_div_filter' );
```<br />
A fenti példában ott van a<em> content_vegere_div_filter </em>nevű függvény, azt adtam neki, szabadon választható, egyedinek kell lennie. Van egy paramétere a $content. Ebbe a $content változóba belekerül a post vagy oldal tartalma. Mert ez is kell, kiegészítjük és nem felül írjuk!<br />
<br />
Viszont ott felvettünk egy új változót, a <em>$end_post_html</em> néven, amibe beleírtunk egy html kódot.<br />
<br />
Majd a függvény végére a <strong>return</strong> utasításba összefűztük a $content -el, így fogja visszaadni, az általunk kiegészített tartalommal!<br />
<br />
Utána az <strong>add_filter </strong>nevű függvénnyel a the_content filter-hez hozzárendeltük ezt a mi kis függvényünket.<br />
<br />
Ezt a kódot ha bírod a functions.php-ba, akkor mindenhol azt fogod látni, hogy a post vagy oldalak tartalmának a végére hozzáfűződött a mi szövegünk. Nem csak az eredeti tartalom van már ott, hanem amivel kiegészítettük. A content elejére is beszúrhattuk volna ezt, csak akkor a return-ba <strong>$end_post_html.$sontent</strong> -et írtunk volna, felcserélve.<br />
<br />
És neked pont ez kell, mert te szeretnél facebook/kép/stb dolgokat beszúrni.<br />
<br />
Tehát ha te minden oldalaljára ilyen facebook like dologot akarsz beszúrni akkor azt így kell:<br />
function content_vegere_div_filter($content) {
global $post;
$url=get_permalink($post->ID);
$facebook_button=’
$end_post_html=’
return $content.$end_post_html.$url;
}
add_filter( ‘the_content’, ‘content_vegere_div_filter’ );
Itt a $post az egy globális változó, ahhoz kell, hogy a like gomb url-jébe le tudjuk kérni a post vagy oldal URL-jét. Hogy a facebook tudja, pontosan mit lájkoltak.<br />
<br />
De lehet szűrni is, feltételeket tenni ebbe a fenti függvénybe, például csak minden post végére tennénk ki, akkor is_single függvénnyel:<br />
function content_vegere_div_filter($content) {
global $post;
if(is_single()){
$url=get_permalink($post->ID);
$facebook_button=’
$end_post_html=’
}
return $content.$end_post_html.$url;
}
add_filter( ‘the_content’, ‘content_vegere_div_filter’ );
<br />
<br />
Így minden post végére szúródik be. (Oldalak végére nem, remélem)<br />
<br />
Persze, ahhoz hogy a fenti példa működjön, akkor ezen az oldalon : <a href="https://developers.facebook.com/docs/reference/plugins/like/">https://developers.facebook.com/docs/reference/plugins/like/</a><br />
<br />
kell lekérni, hogy mit szúrjunk be és hová.<br />
<br />
Mondja is, hogy kell még a után egy ilyen is, ezt pedig a <strong>header.php</strong> -ba kell:, a - után:<br />
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/hu_HU/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); ```
Ezt a facebook generálta. Így nem kell bővítmény, megy anélkül is.
A comment-ek szövegének a végére is tudsz így beszúrni, csak ott nem a the_content filtert használod, hanem a comment_text nevűt: add_filter( 'comment_text', 'comment_vegere_filter' );
Ez pl. minden hozzászólás végére beszúrja az aktuális komment végére a komment URL-jét (linkjét):
``` function comment_vegere_filter($content) {
$url=get_comment_link();
return $content.$url;
}
add_filter( 'comment_text', 'comment_vegere_filter' ); ```
Persze képekkel is kiegészítheted ezeket, szóval ez a módja.
social-sharing-toolkit nevu plugin!
Köszönöm a segítséget, sikerült megoldani. Elvileg az index.php a főoldli és a singel php ezekbe kell beletenni, de akkor vagy a poszt elé vagy után teszi ki, ami csak rész megoldás, de legalább minden posztban megjelenik, viszont ha a content.php-ba rakom bele, akkor ott jobban tudom helyezni, hogy hol jelenjen meg.
a social sahring az jó kis plugin, ahogy én nézegettem, oda csak azokat lehet berakosgatni amit a plugin felajánl. és új egyedi dolgot nem lehet vagyis én nem találtam, de azért köszönöm a segítségeket.
helyesbítek:
ha a főoldaliba akarjuk berakni, akkor a content.php
fájl kell szerkeszteni abba kell elhelyezni a “megfelelő helyre”
és hogy külön megjelenjen minden posztban vagyis a megnyitott posztokban is, akkor a content-single.php fájlba kell elhelyezni.
az elhelyezendő dolgot.
Rakjuk div-ek közé és először teszteljük valami szöveggel, hogy hol jelenik meg, én ezzel a tsztelgettem
Hátha valaki még hasznát veszi...
Tok jo hogy meg tudtad a feladatot oldani de amit irtal az altalanosagban helytelen
a fajlok nevenek semmi koze ahoz hogy mit es hol es hogyan general ki … vagyis van (http://codex.wordpress.org/File:Template_Hierarchy.png de ez azt mutatja be hogy a megjelenitendo adattipus alapjan melyik fajlt probalja betolteni…) az hogy mondjuk a title elott vagy utan akarsz valamit csinalni azt filterekkel es action-kel ered el … viszont a wp alapban ennyire nem reszletes …
tehat pl a the_title filter -rel tudsz reagalni a title generalasra de az hogy elotte vagy utanna arra nem …
Igen ezt most sikerült megoldani, de nagyon sok mindent még nem, bevallom, még nagyon nagyon kezdő vagyok a wordpress dolgaiban, és nem nagyon van segítségem ha elakadok, de próbálom a jó oldalát nézni, mert így legalább rá vagyok kényszerítve hogy megtanuljam.
De mindentől függetlenül az jó tudni, hogy van ez a fórum, hogy még ha ilyen ügyetlen is vagyok, akkor is próbálnak segíteni ahol tudnak.
http://codex.wordpress.org/File:Template_Hierarchy.png ez még jól fog nekem nekem jönni, köszi
és köszönöm a többieknek is
Nem annyira nehez … csak megszokas kerdese… a documentaciot hasznaljad! nem szegyen ha mindig ki van nyitva … csak tanuld meg hasznalni is …
igen az a betoltesi kep nagyon sokat tud segiteni
ugyan ugy talalsz az action-ok betoltesi sorrendjerol is listat stb …
Sziasztok!
Én filterezési technikával oldottam meg a facebook problémát. Kettő gond adódott vele: ha postolok valamit az oldalon, amikor megjelenik, alapból 1 like-kal jelenik meg a cikk, pedig még senki se lájkolta. A másik problémám, hogy, ha valaki lájkolja az ismerőseim közül, azt nem látom, mindig az “Az ismerőseid közül te lehetsz az első.” felírat marad. Tudtok erre valami orvosságot? Nagyon hálás lennék.
az oldalam