it-swarm.dev

Jak lze použít více vzhledů na webu pomocí přepínače "šablony" pomocí přepínání stylů?

Jen jsem si mokré nohy šablon a pár otázek.

Za prvé, v ideálním případě moje šablony používají stejnou strukturu jako mé hlavní téma, nicméně jednoduše používají jiný styl a obrázky.

V současné době je způsob, jak umožňuji změnu vzhledu stránek, přepínačem stylů.

Mám prostě složku pod mým hlavním tématem s názvem "styly", pak pod tím, že mám jednu složku pro každou z mých "skinů". Uvnitř každé složky je skin.css spolu s některými obrázky.

Způsob, jakým to funguje, je, že jsem umístil nějaký kód do mého hlavního tématu header.php souboru, takže čte hodnotu aktuálně aktivní kůže z databáze možností, pak načte styl šablony pro tuto kůži, jako je ...

Ve výše uvedeném příkladu je aktivní kůže "skin1", takže se vždy načítám ...

"... mýtus/styly /". get_option ('active_skin'). "style.css"

To funguje nesmírně dobře a dovoluje mi umístit jednoduchý widget pro přepínání vzhledů (rozbalovací menu s miniaturním zobrazením) uvnitř souboru function.php, aby uživatel admin mohl snadno přepínat mezi několika vzhledy, které zcela mění vzhled a dojem stránek. .

Krása tohoto přístupu spočívá v tom, že vybrané téma a podkladové značky zůstávají nezměněny, takže jsem schopen vytvořit různé styly pomocí předvídatelných značek. Něco jako CSS zen zahrada. Stejné značení, tisíce návrhů. Všechny tyto změny jsou styly a obrázky.

Nicméně, jedna nevýhoda tohoto přístupu (přinejmenším s WordPress) je, že vybraná kůže aplikovaná na celé místo. Nemohu použít jednu kůži na domovskou stránku a jednu kůži na speciální stránku, která by mohla vyžadovat úplně jiný vzhled a dojem.

Pokud existuje způsob, jak přidat nějaký kód do každé složky tak, aby se objevil v rozevírací nabídce "šablony" v editoru stránek, byl bych schopen udělat přesně to, co chci.

Je to možné?

1
Scott B

Jistě je to možné. Rychlým způsobem by bylo přidat vlastní pole do postmeta (v oblasti "Vlastní pole" stránky Upravit příspěvek/Upravit stránku) a ve svém motivu získat hodnotu pomocí get_post_meta () .

Mírně méně rychlým způsobem by bylo přidat obálku do této hodnoty vlastního pole tak, že do pole pro meta post umístíte volič motivů .

1
gabrielk

Právě jsem se díval na autodiscovery šablony stránek pro další otázku a ukázalo se, že WordPress explicitně zakazuje soubory šablon v podadresářích . Budete muset jít jiným způsobem, například pomocí vlastních polí, jak navrhoval gabrielk, nebo poskytováním uživatelského rozhraní do stejných polí meta pomocí vlastních meta boxů admin .

1
Annika Backstrom