Змест маркетынгу

WordPress: Як дадаць тэкст з карыстальніцкім полем да змесціва карыстальніцкага тыпу паведамлення

у WordPress, add_filter() гэта функцыя, якая выкарыстоўваецца для падлучэння карыстальніцкай функцыі або існуючай функцыі WordPress да пэўнага дзеяння фільтра. Фільтры - гэта адзін з двух тыпаў Хукаў, другі - Дзеянні. Яны дазваляюць функцыям змяняць даныя іншых функцый і з'яўляюцца краевугольным каменем функцыянальнасці плагіна WordPress.

Вось асноўны сінтаксіс add_filter():

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

Як сістэма кіравання кантэнтам (CMS), WordPress быў распрацаваны, як і любая іншая платформа… незалежна ад таго, ці з'яўляецца гэта старонка, паведамленне ці нават карыстальніцкае паведамленне, у вас ёсць назва і змест. Але не ўвесь кантэнт абмяжоўваецца гэтымі двума варыянтамі. Адным з прыкладаў з'яўляецца абрэвіятура бібліятэка, якую я распрацаваў Martech Zone. Абрэвіятура складаецца з трох элементаў… сама абрэвіятура, а вызначэнне які паказвае, што азначае абрэвіятура, і яе тлумачэнне.

Мне ўдалося лёгка дадаць карыстацкае поле для вызначэння з дапамогай MetaBox, але гэта карыстальніцкае поле не апублікавана на ўсім сайце. Адным са спосабаў зрабіць гэта было б стварыць карыстальніцкі шаблон для архіва і старонкі з адной абрэвіятурай, дзе я магу атрымаць карыстацкае поле. Тым не менш, гэта патрабуе даволі шмат працы і павінна быць зроблена ўсюды, дзе я хачу атрымаць інфармацыю - у архіве, асобным паведамленні, урыўку і стужцы карыстальніцкага тыпу паведамленняў.

Альтэрнатывай з'яўляецца выкарыстанне вашай тэмы і даданне гэтай інфармацыі да самога кантэнту. У гэтым выпадку я проста хачу дадаць кароткі сказ: {title} - гэта абрэвіятура {definition}. Паколькі я таксама выкарыстоўваю бібліятэку абрэвіятур для кодаў, я таксама хачу змяніць дададзены тэкст, калі код лічбавы: {title} - гэта код для {definition}. Вось прыклады:

0p - абрэвіятура Zero Party і 404 - код для "Не знойдзена"..

Каб зрабіць гэта, я магу выкарыстаць add_filter для канцэпцыі, урыўка, стужкі і RSS, каб дадаць адпаведны тэкст. Акрамя таго, я правяраю, ці з'яўляецца абрэвіятура лічбавай... у такім выпадку гэта, верагодна, код. (Я разумею, што мог бы палепшыць гэта яшчэ больш, але пакуль усё добра). У межах ст functions.php файл майго

Дзіця тэме, я проста дадаю наступную функцыю, а затым выклікаю адпаведныя фільтры, каб прымяніць яе на ўсім сайце:

// 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;
}

Цяпер, калі вы бачыце мой акронім архіў, вы ўбачыце, што перад кожным з запісаў ва ўрыўку стаіць гэты сказ. І гэта асобны абзац на старонцы асобных паведамленняў.

Douglas Karr

Douglas Karr з'яўляецца CMO кампаніі OpenINSIGHTS і заснавальнік ст Martech Zone. Дуглас дапамог дзясяткам паспяховых стартапаў MarTech, аказаў дапамогу ў належнай абачлівасці больш чым на 5 мільярдаў долараў у набыцці і інвестыцыях Martech і працягвае дапамагаць кампаніям у рэалізацыі і аўтаматызацыі іх продажаў і маркетынгавых стратэгій. Дуглас - міжнародна прызнаны эксперт і дакладчык па лічбавай трансфармацыі і MarTech. Дуглас таксама з'яўляецца апублікаваным аўтарам даведніка па манекенах і кнігі па бізнес-кіраўніцтву.

Артыкулы па Тэме

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Martech Zone можа даць вам гэты кантэнт бясплатна, таму што мы манетызуем наш сайт за кошт даходаў ад рэкламы, партнёрскіх спасылак і спонсарства. Мы былі б удзячныя, калі б вы выдалілі блакіроўшчык рэкламы пры праглядзе нашага сайта.