Как добавить метатег в шаблон страницы из плагина Wordpress? - PullRequest
1 голос
/ 01 апреля 2010

Я хочу добавить метатег, подобный этому:

<meta name="key" content="value" />

к некоторым страницам в Wordpress. Я знаю, я могу добавить это в свой шаблон, и он появится. Но дело в том, Мне не разрешают даже трогать шаблон. Это полностью независимо от шаблона.

Итак, я должен добавить метатег, только сделав что-то в коде моего плагина. Я пробовал wp_head action hook, но он не работает. Любая идея обойти или что-нибудь, чтобы динамически получить метатег внутри заголовков страниц.

Что я делаю

То, что я делаю, немного другое. В моем блоге есть две страницы: страница основного контента и страница резюме. Обе эти страницы получают данные через шорткоды. Итак, страница основного контента имеет шорткод

[mainpage]

и страница сводки содержит этот шорткод

[summarypage]

Шорткод добавлен в основной файл плагина

add_shortcode( 'mainpage', 'mainPage' );
add_shortcode( 'summarypage', 'summaryPage' );

Теперь в каталоге плагинов у меня есть два php-файла с именами mainpage.php и summarypage.php, и они возвращают html-контент.

В mainpage.php

function mainPage() {
    // Code which generates html content
    $mainpage .= 'content';
    return $mainpage;
}

аналогично, в summarypage.php

function summaryPage() {
    // Code which generates HTML content
    $summarypage .= 'content';
    return $summarypage;
}

Так как, $ mainpage и $ summarypage содержат все, что находится внутри поля текстовой области страницы. Я понятия не имею, как добавить метаинформацию на мою главную или сводную страницу. Использование wp_head внутри функции mainPage() и summaryPage() не работает и это правильно. Итак, как я могу получить метатег в разделе заголовка страницы ??

Ответы [ 2 ]

3 голосов
/ 01 апреля 2010

Мы могли бы помочь вам лучше, если бы вы показали нам, что вы уже пробовали. Вот рабочий пример:

<?php
/*
Plugin Name: No automagic phone numbers
Description: Adds <meta> elements to the <head> to prevent the Skype toolbar and the iPhone from autolinking.
Version: 0.1
Author: Thomas Scholz
Author URI: http://toscho.de
Created: 01.04.2010
*/

if ( ! function_exists('no_automagic_phone_numbers') )
{
    function no_automagic_phone_numbers()
    {
        /* Prevent the Skype plugin and the iPhone from randomly parsing numbers
         * as phone numbers: */
        ?>
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE">
<meta name="format-detection" content="telephone=no">
        <?php
        if ( ! is_single() and ! is_page() )
        {
            // execute archive stuff
        }
        else
        {
            // single page stuff
        }
    }
    add_action('wp_head', 'no_automagic_phone_numbers');
}

Теперь мне интересно, почему вам разрешено устанавливать плагины, но не менять тему ...:)

0 голосов
/ 07 декабря 2011

Работает ли это на чем-то похожем на

function addmeta()
{

  echo "\t<meta name='keywords' content='xxxxxxxxxxxxxxxxx' />\n";

}

function shortcodeTemplate($atts) //SHOWS THE SHORTCODE AND RENDERS THE VIEW MODE FOR THE GIVEN VIEW ID
{
 add_action('wp_head', 'addmeta');
echo showTemplate($atts['id']);
}

Шаблон шорткода вызывается для рендеринга в шорткод .... который находится в записи.

...