Mporei kaneis na voithisei??????

servetas
Δημοσιεύσεις: 1
Εγγραφή: 29 Ιαν 2015, 03:59

Mporei kaneis na voithisei??????

Δημοσίευσηαπό servetas » 29 Ιαν 2015, 04:02

Kalimera exw ena provlima me to Wordpress. Prospathw na valw san meta keywords ta tags tou arthrou. Vazw

$posttags = get_the_tags();
if ($posttags) {
echo "<meta name='keywords' content='";
foreach($posttags as $tag) {
echo $tag->name.",";
}

To provlima pou exw einai ta keywords vgainoun kanonika me komma alla den thelw sto teleutaio komma. px 'giorgos,maria,' Exoun spasei ta neura mou ,

Άβαταρ μέλους
Θεόδωρος Τασσόπουλος
Site Admin
Δημοσιεύσεις: 8
Εγγραφή: 16 Ιαν 2015, 02:09

Re: Mporei kaneis na voithisei??????

Δημοσίευσηαπό Θεόδωρος Τασσόπουλος » 30 Ιαν 2015, 13:30

Πρώτα απ'όλα καλώς ήλθες.
Δεύτερον πρέπει οπωσδήποτε να βάλεις if(is_single()) γιατί keywords και tags έχεις μόνο στα άρθρα.
Τρίτον φαντάζομαι γνωρίζεις ότι το function πρέπει να μπει μέσα στο head.
Τέταρτον υπάρχουν αρκετές λύσεις. Μία από αυτές σου δίνω από κάτω.

<?php if (is_single()) {
$posttags = get_the_tags();
if ($posttags) {
echo "<meta name='keywords' content='";
foreach($posttags as $tag) {
$datags[] = $tag->name;
}
echo implode( ',' , $datags );
echo "'/>";
}
} ?>

Όλα τα tags λοιπόν αποθηκεύονται σε ένα array ονόματι $datags. Μετά μετατρέπουμε το array σε string με την implode, διαχωρίζοντας το κάθε στοιχείο με κόμμα.

Σώτος
Δημοσιεύσεις: 1
Εγγραφή: 30 Ιαν 2015, 13:30

Re: Mporei kaneis na voithisei??????

Δημοσίευσηαπό Σώτος » 30 Ιαν 2015, 13:35

θα βαλεις πρωτα ολα τα name σε μια μεταβλητη, αντι να τα κανεις echo

$taged = "";
foreach($posttags as $tag) {
$taged = $taged . "," . $tag->name;
}
echo $taged;

αυτο θα εχει σαν αποτελεσμα
,giannis,maria,nikos

τωρα θα χρησιμοποιησεις το substr για να αφαιρεσεις τον πρωτο χαρακτηρα της μεταβλητης σου.
το substr σου επιστρεφει συγκεκριμενο μερος απο την μεταβλητη η το κειμενο που εχεις δωσει.
στη περιπτωση σου ο κωδικας θα γινει καπως ετσι

$taged = "";
foreach($posttags as $tag) {
$taged = $taged . "," . $tag->name;
}
echo substr( $taged , 1);

για more info δες εδω http://php.net/substr


Επιστροφή στο

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: 1 και 0 επισκέπτες