Úvodní stránka › Fórum podpory WordPressu › Pluginy (funkčnost webu) › Výpis unikátních hodnot uživatelských polí
Zvolené téma obsahuje celkem 7 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel mackopu a poslední změna je stará 8 let, 11 měsíců.
-
AutorPříspěvky
-
5. května 2015 (22:18) #23111
Zdravím,
u článků jsem si vytvořil uživatelské pole “puvodni autor”, kam zadávám (jak je z názvu patrno) původní autory článků (např. Jiří Novák), které nechávám vypsat pod nadpisem článku pomocí get_post_meta($post->ID, ‘puvodni autor’, true).
Nyní bych potřeboval na samostatné stránce vypsat unikátní jména všech těchto autorů, nejlépe jako odkazy na výpis článků, jejichž původními autory jsou.
Toto nefunguje:function dd_custom_authors_display() { global $post; $puvodni_autori = get_post_meta( $post->ID, 'puvodni autor' ); $return = ""; $return .= "<ul>"; if (!empty($puvodni_autori)) foreach($puvodni_autori as $puvodni_autor) { $return .= "<li>"; $return .= $puvodni_autor; $return .="</li>"; } $return .= "</ul>"; return $return; } echo dd_custom_authors_display();
Máte nějaký nápad?
6. května 2015 (8:11) #23113tak hned první bych vyzkoušel vyměnit “puvodni autor” za “puvodni_autor”. Mezera podle mě nebude ideální.
jinak kód vypadá na první pohled v pohodě. Tady jde o to, jak vypadá vstupní pole, protože když pouzijes tenhle kód, počítáš s obsahem typu array …. tedy vstup by měl být input, v kterém budeš mít autory oddelene carkou a pri ulozeni z toho udelas pole ktere ulozis jako meta “puvodni_autor”
6. května 2015 (8:47) #231141. Jak hromadně (a bezpečně) změním „puvodni autor“ na „puvodni_autor“, aniž bych to musel pracně přepisovat u všech příspěvků?
2. Tohle už funguje v pohodě:$dotaz = mysql_query("SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key = 'puvodni autor' ORDER BY meta_value"); $pocet = mysql_num_rows($dotaz); echo '<h3>Celkem '.$pocet.' autorů</h3>'; echo '<ul>'; while($zaznam = mysql_fetch_array($dotaz)) { $dotaz_2 = mysql_query("SELECT post_id FROM wp_postmeta WHERE meta_key = 'puvodni autor' AND meta_value = '".$zaznam["meta_value"]."'"); $pocet_2 = mysql_num_rows($dotaz_2); echo '<li><a href="">'.$zaznam["meta_value"].'</a> ('.$pocet_2.')</li>'; } echo '</ul>';
Teď ještě ty odkazy na výpis jejich článků…
6. května 2015 (12:10) #231161.) kód snad mate v šabloně ne?
Odkaz na autorův archiv najdeš po zadani “wp get author archive link”
6. května 2015 (15:34) #231201.) špatně jsem předtím pochopil, ideální bude, když při uložení objektu vezmete ID current user a vložíte ho do pole, které pak uložíte do meta post. Tím zajistíte, že každý kdo klikne na uložit, aktualizovat atd, bude v seznamu autorů.
6. května 2015 (22:21) #23123Stále si nerozumíme. Ti autoři nemají registraci – nejsou zadáni v uživatelích. Jedním z nich může být třeba Karel Čapek. Prostě ty původní autory potřebuji zadávat do uživatelského pole a pak je na nějaké stránce vypsat s odkazy na články, v jejichž uživatelském poli jsou zadáni.
7. května 2015 (6:46) #23126nebylo by to vhodné řešit pomocí štítků? pokud je již používáte, můžete si jednoduše vytvořit vlastní taxonimii ala štítky(tagy) a pak bude jednoduché je u článků vyklikávat.
7. května 2015 (9:33) #23132Díky, problém vyřešen.
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.