Nahrazení informace o příspěvku metaboxem

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Nahrazení informace o příspěvku metaboxem

Zvolené téma obsahuje celkem 11 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 10 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 12 příspěvků - 1. až 12. (z celkem 12)
  • Autor
    Příspěvky
  • #3548

    sjiamnocna
    Participant
    Web

    Zdravím. Potřeboval bych poradit: chtěl bych kompletně nahradit informaci o příspěvku (postmeta) daty z metaboxu. Příklad: Mám stránku, na které mám v CPT songs písně, a k nim potřebuju přidat autora. Nechci to dělat zvláštním vztahem, který řeší nový metabox, ale chci to uložit stejně jako autora příspěvku (namísto tbl. wp_post_meta do wp_posts pod sloupec post_author či jak to vlasně funguje) – při tvorbě CPT jsem vyřadil všechny základní informace jako čas atp. a nechal jen text a title, a myslím, že by se to mělo dát nahradit za obyčejné pole author – kdyby tak jen proto, že jej potom vypíšu klasicky a nemusím hrabat v getpostmeta. Šlo by to nějak udělat?

    #16127

    sjiamnocna
    Participant
    Web

    Opravdu se tady všichni bojí mých dotazů? Je to docela kontraproduktivní, že se ostatní dotazy řeší a můj tady pokaždé leží půl roku bez odpovědi (a není to neaktivitou lidí). Někdy mě to odrazuje od řešení ostatních problémů – odpovím inteligentní odpovědí (někdy i s kompletním řešením) a hned po mně to někdo komentuje stylem “Ano, to je správný postup ale…”, přitom ale když já založím téma, nikdo nenapíše ani “Ne, to opravdu nejde”…

    #16128

    Musilda
    Participant
    Web

    Hele, my občas máme také dovolené a jiné povinnosti. Rady jsou snad zcela dobrovolné, ne?

    K dotazu – jde to, ale je to jako se drbat se pravou rukou za levým uchem. Takže bych to udělal raději přes post_meta. U autora postu se navíc ukládá jeho id, je to bigint, takže by jsi ty jména autorů musel někde ukládat, ať již jako pole, nebo udělat tabulku v databázi. Udělat jde vše, ale řešení by bylo asi moc složité.

    #16129

    sjiamnocna
    Participant
    Web

    Nejde o neuznání dovolené… Jde o to, že zatímco jiné dotazy řeší uživatelé během pěti minut, jakmile zadám dotaz já – třeba velmi primitivní (pro vás) -, není ani slovně odmítnut. To byl takový lehký povzdech po lepších časech no…

    Už jsem začal přemýšlet o použití metaboxu – mohl by se uložit jako normální text v metaboxu ale chtěl bych, aby když si uživatel nainstaluje plugin, ať nemusí vytvářet speciální šablonu pro písně. Chtěl bych upravit obsah tagu the_author během výpisu písně. Díval jsem se na funkci add_filter ale ta podle toho, co jsem viděl neumí filtrovat titulek.

    Taky by se hodilo, kdybych mohl nahradit celý loop za vlastní v archivní šabloně (aniž bych poškodil vzhled webu) – měl bych řadit písně dle abecedy (titulku) a ukládat je do tabulky, ale to asi bez šablony nepůjde – resp. jde řazení, ale to jak změním formát celého archivního výpisu je zatím tajemstvím

    #16130

    sjiamnocna
    Participant
    Web

    Jej sory – myš mi kliká dvakrát…

    #16131

    Musilda
    Participant
    Web

    Jak to že nejde změnit title pomocí add_filter?

    http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title

    Řazení pro archive změníš pomocí pre_get_post a podmínky is_archive

    http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

    Nahrazení archívní šablony vlastním souborem šablony pomocí add_filter archve template

    http://codex.wordpress.org/Plugin_API/Filter_Reference/archive_template

    Všechno najdeš v codexu, na tohle je WordPress super.

    #16132

    sjiamnocna
    Participant
    Web

    Souhlasím, WP Codex je skvělý (a je to víceméně důvod, proč u mně WP vyhrál nad jinými CMS) – Dělal jsem s drupalem a joomlou, a z těch žádný nic pořádného neměl – všichni jen články “jak vytvořit šablonu” ap. :)

    S titlem se vcelku pracovat dá, ale já mám na mysli tag the_author – potřebuji, aby se v šabloně místo autora CPT postu na místě použití the_author zobrazil autor písně – tedy obsah metaboxu autor (aby se nemusela používat speciální šablona).

    Na změnu pravidel archivů, bych chtěl nahradit jen loop – abych mohl změnit strukturu výpisu (jestli je to možné), aby uživatelé nemuseli vytvářet šablonový soubor archive-CPT a zároveň bude výpis odpovídat šabloně.

    Jsou to docela podivné dotazy, já vím ale jsou téměř nezbytné – v jiném případě bych tyto věci musel obejít.

    #16133

    Musilda
    Participant
    Web

    Tak pro změnu autora použij filtr the_author.

    #16134

    admin
    Keymaster
    Web

    Osobně nikdy nerozlišuji, KDO je autorem dotazu či příspěvku na fóru, ale zejména CO je jeho obsahem. Pokud je dotaz složitější, nejasný nebo neznám z hlavy odpověď a zrovna není chuť či čas na delší psaní a vysvětlování, tak se může stát, že dotaz bohužel zapadne v přívalu dalších nových vláken… Není to plánované, jen se to prostě občas tak nějak stane :-) Ale zpět k dotazu…

    sjiamnocna: Původně jsem ani pořádně nepochopil dotaz :-) Osobně bych pro autora písně nepoužíval uživatelský systém WordPressu, protože k tomu prostě není určen. Přijde mi trochu podivné, aby vedle uživatele admin existoval ještě např. mrtvý uživatel “Beatles”, který bude mít nějaké uživatelské jméno, heslo a email. Nepoužil bych ale asi ani uživatelská pole (aneb zmiňované “post meta”), ale spíše vlastní taxonomii “autor”, protože jeden autor může napsat více písniček a uživatelé by třeba mohli chtít vidět i seznam všech písniček konkrétního autora, což lze nejlépe dosáhnout pomocí taxonomií…

    Asi bych ani moc neřešil filtrování funkce the_author(), i když je to docela zajímavý nápad, jak obejít stávající omezení. Co když je ale autor v nějaké šabloně uveden někde malým písmem na konci příspěvku? Nehledě na to, že pokud je na webu jen jeden autor, tak je často zcela skrýván (např. u výchozích šablon WordPressu).

    Samozřejmě rozumím myšlence integrace pluginu s písněmi do různých šablon bez zásahu do kódu, ale stejně je to dost problematické. Různé šablony mohou volat různé funkce a používat i vlastní hooky, takže i když použijete zmiňovaný filtr archive_template a součástí pluginu bude nějaká speciální šablona, tak nemusí bohužel fungovat všude. Často se ale v tomto případě používají následující způsoby:

    – Filtry the_content a the_excerpt, kdy se výpis taxonomie připojí přímo k obsahu písně (třeba na konec či začátek, případně se nastavení ponechá na uživateli).

    – Zkrácené zápisy (shortcode), kdy je uživatel donucen vložit na libovolné místo textu informace o písni (autor, rok vzniku, atd).

    – Widgety, kdy jsou informace o písničce nabídnuty v podobě widgetu a každý si je tam může umístit (u některých šablon to samozřejmě nefunguje nebo je to dost daleko od samotného textu písně).

    Každopádně autor obecného pluginu by měl ideálně nabízet všechny možnosti, a to včetně funkcí pro ruční úpravu šablony :-)

    #16135

    sjiamnocna
    Participant
    Web

    Pokusím se myšlenku trochu osvětlit:

    1.mám CPT song řešenou pluginem. Potřeboval bych, aby se archiv písní zobrazoval v tabulce a aby se písně řadily dle názvu.

    2.v single příspěvku, jsem chtěl nějak jednodušeji zobrazovat text písně a autory

    Myšlenku alterování the_author mi admin rozmluvil :D takže se rozhlížím po něčem jako jsou u příspěvků tagy, nebo spíše kategorie. Co jsou taxonomie, jsem nepochytil ani z codexu ani z článků na netu, takže nejsem ideální materiál ale snad to jednou pochopím

    Myslíte, že je lepší přes filtry editovat obsah, nebo prostě vytvořit nějakou šablonu a tu pak podstčit jako šablonu pro písně (jednoduchá – seznam písní s tlačítkem zpět nebo tak něco)? nebo udělat filtr jen pro single šablonu a výpis zařídit přes shortcode?

    #16136

    admin
    Keymaster
    Web

    Ad 1) Ano, pokud chcete mít písně na jedné stránce (a ne jako klasický archiv se stránkováním, např. po deseti písních), tak je asi nejčastěji používán zkrácený zápis (shortcode), který může uživatel vložit do stránky. Ideálně plugin stránku “Písně” rovnou vytvoří a zkrácený zápis tam vloží. Na základě zkráceného zápisu pak můžete generovat libovolnou tabulku… Archiv písní tak bude umístěn na stránce a nikoli v klasickém archivu…

    Ad 2) Zobrazení jednotlivých písní by pak mělo jít snadno modifikovat pomocí filtru the_content.

    Taxonomie rozhodně doporučuji nastudovat, protože to přesně to, co potřebujete :-) Štítky a rubriky jsou také vlastně taxonomie, takže si můžete vytvořit vlastní “rubriky” (aneb autory) pro vlastní typ obsahu “písně”.

    #16138

    sjiamnocna
    Participant
    Web

    Ještě něco: Jak moc umí WordPress pracovat s XML? nebo se s tím pracuje přes normální simple XML nebo přes nový objekt (či jak se to dělá v PHP:D) ?

    Mimo toto už nic víc nepotřebuju… Děkuji za rady :)

Aktuálně je na stránce zobrazeno 12 příspěvků - 1. až 12. (z celkem 12)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti