Σελίδα 1 από 1

Mporei kaneis na voithisei??????

Δημοσιεύτηκε: 29 Ιαν 2015, 04:02
από servetas
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 ,

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, διαχωρίζοντας το κάθε στοιχείο με κόμμα.

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