Konzistentní adresy médií ve WordPressu

3. 6. 2015

Když uživatel ve WordPressu vloží fotogalerii do stránky a odkazy nastaví na “stránku se zobrazením souboru”, pak adresa stránky detailem fotky bude v tomto formátu: URL jméno (slug) přílohy, v naší ukázce “jmeno-prilohy”, se implicitně vygeneruje z názvu nahrávaného soubory. To není moc šťastné, protože uživatelé často nahrávají nekonzistentně (a často i nevhodně)…

Když uživatel ve WordPressu vloží fotogalerii do stránky a odkazy nastaví na “stránku se zobrazením souboru”, pak adresa stránky detailem fotky bude v tomto formátu:

URL jméno (slug) přílohy, v naší ukázce “jmeno-prilohy”, se implicitně vygeneruje z názvu nahrávaného soubory. To není moc šťastné, protože uživatelé často nahrávají nekonzistentně (a často i nevhodně) pojmenované obrázky. Adresy jsou potom tak říkajíc každý pes, jiná ves.

Proto je vhodné zajistit, že se URL jméno přílohy po nahrání nastaví do konzistentního formátu. K tomu se hodí akce add_attachment, která se vyvolává vždy po nahrání nového média. V přivázané funkci pak lze upravit “post_name” do celkem libovolného formátu.

Takhle vypadá snippet, který nastaví URL jméno na znak “a” následovaný ID číslem přílohy, adresa pak bude v tomto formátu:

Snippet stačí přidat k šabloně do souboru functions.php:

[php]

add_action( ‘add_attachment’, ‘my_modify_attachment_slug’);

function my_modify_attachment_slug ($post_id) {
wp_update_post(
array(
‘ID’ => $post_id,
‘post_name’ => ‘a’.$post_id
)
);
}

[/php]

Zde je pak ke stažení hotový plugin s tímto snippetem. Plugin stačí nainstalovat a aktivovat.

Tož tak.

← Zpátky na články