Content Marketing

WordPress: Ako pridať text pred vlastné pole k obsahu vlastného typu príspevku

vo WordPress, add_filter() je funkcia používaná na pripojenie vlastnej funkcie alebo existujúcej funkcie WordPress ku konkrétnej akcii filtra. Filtre sú jedným z dvoch typov hákov, druhým sú akcie. Poskytujú spôsob, ako môžu funkcie upravovať údaje iných funkcií a sú základným kameňom funkčnosti pluginu WordPress.

Tu je základná syntax add_filter():

add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )

Ako redakčný systém (CMS), WordPress bol navrhnutý ako každá iná platforma... či už ide o stránku, príspevok alebo dokonca vlastný príspevok, máte názov a obsah. Ale nie všetok obsah je obmedzený na tieto dve možnosti. Jedným z príkladov je akronym knižnicu, na ktorej som vyvinul Martech Zone. Skratka má tri prvky... samotná skratka, definícia ktorý ukazuje, čo skratka znamená, a jej vysvetlenie.

Dokázal som ľahko pridať vlastné pole pre definíciu pomocou MetaBox, ale toto vlastné pole nie je zverejnené na celej lokalite. Jedným zo spôsobov, ako to urobiť, by bolo vytvoriť vlastnú šablónu pre stránku archívu a jednej skratky, kde môžem extrahovať vlastné pole. Vyžaduje si to však dosť práce a musí sa to robiť všade, kde tieto informácie chcem – v archíve, samostatnom príspevku, úryvku a informačnom kanáli vlastného typu príspevku.

Alternatívou je použiť svoju tému a pridať tieto informácie do samotného obsahu. V tomto prípade chcem jednoducho pridať krátku vetu: {title} je skratka pre {definition}. Pretože pre kódy používam aj knižnicu akronymov, chcem tiež upraviť predpridaný text, ak je kód číselný: {title} je kód pre {definition}. Tu sú príklady:

0p je skratka pre Zero Party a 404 je kód pre Nenájdené.

Na tento účel môžem použiť add_filter pre koncept, úryvok, informačný kanál a RSS na pridanie vhodného textu. Okrem toho skontrolujem, či je skratka číselná... v takom prípade je to pravdepodobne kód. (Uvedomujem si, že by som to mohol ešte vylepšiť, ale zatiaľ je to v poriadku). V rámci functions.php súbor môjho

dieťa tému, jednoducho pridám nasledujúcu funkciu a potom zavolám príslušné filtre, aby som ju použil na celom webe:

// Prepend text to the content of 'acronym' posts
add_filter('the_content', 'prepend_text_to_acronym');
add_filter('the_excerpt', 'prepend_text_to_acronym');
add_filter('the_content_feed', 'prepend_text_to_acronym');
add_filter('the_excerpt_rss', 'prepend_text_to_acronym');
function prepend_text_to_acronym($content) {
    global $post;

    // Check if it's an 'acronym' post
    if($post->post_type == 'acronym') {
        // Get the post title and the 'acronym_definition' field
        $title = get_the_title($post->ID);
        $definition = get_post_meta($post->ID, 'acronym_definition', true);

		if (is_numeric($title)) {
			$new_content = "<p>$title is the code for $definition.</p>";
		} else {
			$new_content = "<p>$title is the acronym for $definition.</p>";
		}

        // Prepend the new content to the original content
        $content = $new_content . $content;
    }

    return $content;
}

Teraz, keď vidíš moje akronym archív, uvidíte, že každý záznam má v úryvku predponu túto vetu. A je to samostatný odsek na stránke jednotlivých príspevkov.

Douglas Karr

Douglas Karr je CMO OpenINSIGHTS a zakladateľ spoločnosti Martech Zone. Douglas pomohol desiatkam úspešných startupov MarTech, asistoval pri due diligence v hodnote viac ako 5 miliárd dolárov v akvizíciách a investíciách Martech a naďalej pomáha spoločnostiam pri implementácii a automatizácii ich predajných a marketingových stratégií. Douglas je medzinárodne uznávaný odborník na digitálnu transformáciu a MarTech a rečník. Douglas je tiež publikovaným autorom príručky Dummie a knihy obchodného vedenia.

súvisiace články

Tlačidlo späť nahor
Zavrieť

Zistený blok reklám

Martech Zone vám tento obsah môže poskytnúť bezplatne, pretože naše stránky speňažujeme prostredníctvom príjmov z reklám, pridružených odkazov a sponzorstiev. Ocenili by sme, keby ste pri prezeraní našej stránky odstránili blokovanie reklám.