Autor | Zpráva | ||
---|---|---|---|
Lubosh Profil |
Chtěl bych přidat část adresy do generovaného odkazu ve wordpressu (nejsem programátor):
Tak abych místo: <a href="htttp://www.stranka.cz/2012/">2012</a> Dostal toto: <a href="htttp://www.stranka.cz/2012/?post_type=uredni-deska">2012</a> Mám nyní rozepsáno toto (samozřejmě nefunkční): <?php $variable = wp_get_archives(); $variable = str_replace(array('<a href="'), '<a href="?post_type=uredni-deska', $variable); echo $variable; ?> Může někdo poradit? Poznámka: wp_get_archives() generuje toto: <li><a href="htttp://www.stranka.cz/2012/">2012</a></li> <li><a href="htttp://www.stranka.cz/2011/">2011</a></li> <li><a href="htttp://www.stranka.cz/2010/">2010</a></li> |
||
abc Profil |
#2 · Zasláno: 1. 3. 2012, 23:55:31
Lubosh:
Toto funguje, ale nezaručuji, že nebude problematické do budoucna kvuli nějakým konfliktům, jako např. pokud se ve $variables vyskytne na dalším místě /" <?php $variable = wp_get_archives(); $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); echo $variable; ?> |
||
Tori Profil |
Lubosh:
$variable = preg_replace('~(href="[^"]+?)/?"~', '$1/?post_type=uredni-deska"', $variable); |
||
Lubosh Profil |
abc:
Tak u tohoto příkladu není žádný výsledek: $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); Pokud odstraním uvozovky tak ano (ale změní to adresu blbě samozřejmě): $variable = str_replace('/', '/?post_type=uredni-deska', $variable); Tori: Tento postup taky bez výsledku: $variable = preg_replace('~(href="[^"]+?)/?"~', '$1/?post_type=uredni-deska"', $variable); Když opět zruším uvozovky takto: $variable = preg_replace('~(href=[^"]+?)/?~', '$1/?post_type=uredni-deska', $variable); tak dostanu požadovaný odkaz ale obrázeně :-): <a href="/?post_type=uredni-deskahttp://www.stranka.cz/2012/">2012</a> |
||
abc Profil |
#5 · Zasláno: 2. 3. 2012, 01:08:19
Lubosh:
Ať to spouštim, jak to spouštim, vždycky mi to vrátí správně... $variable='<li><a href="http://www.stranka.cz/2012/">2012</a></li> <li><a href="http://www.stranka.cz/2011/">2011</a></li> <li><a href="http://www.stranka.cz/2010/">2010</a></li>'; $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); echo $variable; <li><a href="http://www.stranka.cz/2012/?post_type=uredni-deska">2012</a></li> <li><a href="http://www.stranka.cz/2011/?post_type=uredni-deska">2011</a></li> <li><a href="http://www.stranka.cz/2010/?post_type=uredni-deska">2010</a></li> Předpokládam tedy, že jsou vstupní data jiná? |
||
Lubosh Profil |
#6 · Zasláno: 2. 3. 2012, 01:15:20
abc:
Ano .. takto mě to jde taky ale když mám místo: $variable='<li><a href="http://www.stranka.cz/2012/">2012</a></li> <li><a href="http://www.stranka.cz/2011/">2011</a></li> <li><a href="http://www.stranka.cz/2010/">2010</a></li>'; $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); echo $variable; Tohle $variable = wp_get_archives(); $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); echo $variable; Tak to nejede |
||
Tori Profil |
Lubosh:
Co přesně vypíše var_dump(wp_get_archives()); ? (A zkopírujte prosím ze zdrojáku, pokud by náhodou ta funkce vracela některé znaky převedené na entity apod.)
↓ tak to je zvláštní, mělo by to fungovat (str_replace i preg_replace). Snad někdo přijde na příčinu, já netuším. |
||
Lubosh Profil |
#8 · Zasláno: 2. 3. 2012, 01:26:00
Tori
<li><a title="2012" href="http://localhost/borotice/2012/">2012</a></li> <li><a title="2011" href="http://localhost/borotice/2011/">2011</a></li> NULL toto |
||
abc Profil |
#9 · Zasláno: 2. 3. 2012, 19:33:56
Lubosh:
Vážně mezi $variable = wp_get_archives(); a vypisem $variable není žádný další kód?
Toto totiž samozřejmě funguje správně: $variable='<li><a title="2012" href="http://localhost/borotice/2012/">2012</a></li> <li><a title="2011" href="http://localhost/borotice/2011/">2011</a></li> NULL'; $variable = str_replace('/"', '/?post_type=uredni-deska"', $variable); echo $variable; |
||
Časová prodleva: 12 let
|
0