Как поставить в очередь альтернативные, пиктограммные и манифестные ссылки в wp_head? - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь отобразить мета, значки и код магазина приложений в голове из моего плагина, но он был отвергнут командой проверки плагинов WordPress:

Пожалуйста, используйте команды wp_enqueue

Это то, что я пытаюсь добавить:

add_action('wp_head', array(&$this, 'add_meta'));

public function add_meta() {
    global $post;

    $url = $_SERVER['HTTP_HOST'] . rtrim($_SERVER['REQUEST_URI'], '/');

    // Smart App Banner for Safari and iOS
    echo '<meta name="apple-itunes-app" content="app-id=' . $this->getOption('iOSID') . ', app-argument=' . 'http://' . $url . '">';

    // Google App Indexing
    echo '<link rel="alternate" href="android-app://' . $this->getOption('AndroidID') . '/' . 'http/' . $url . '" />';
    echo '<link rel="alternate" href="ios-app://' . $this->getOption('iOSID') . '/' . 'http/' . $url . '" />';

    // App Icons
    echo '<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">';
    echo '<link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">';
    echo '<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">';
    echo '<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">';
    echo '<link rel="manifest" href="/manifest.json">';
    echo '<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">';
    echo '<meta name="msapplication-TileColor" content="#da532c">';
    echo '<meta name="msapplication-TileImage" content="/mstile-144x144.png">';
}

Однако я не вижу, как эти специальные теги link и meta можно сделать с помощью wp_enqueue_style.Какой правильный «WordPress» способ сделать это из плагина?

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Какой правильный «WordPress» способ сделать это из плагина?

Правильный хук WordPress, который вы ищете, специально wp_head для перехватаметаданные, например:

add_action( 'wp_head', 'add_meta' );

function add_meta() {

    // Post object if needed
    global $post;

    // Page conditional if needed
    if( is_page() ){}

    ?>

        <meta name="someName" content="someContent" />

    <?php

}

Примечание: Если вам нужно удалить ловушку по умолчанию, этот файл даст вам приоритет, который нужно использовать для удалениякрючок.

0 голосов
/ 02 июня 2018

Какой правильный «WordPress» способ сделать это из плагина?

Вы уже сделали это правильно.Если команда проверки WordPress сказала или ответила, что это не так, спросите их, почему - или даже как именно вы должны кодировать function.=)

Тем не менее, вы можете проверить это: https://stackoverflow.com/a/8086420/9694859

0 голосов
/ 31 мая 2018

Это зависит от того, какой тип контента вы хотите включить.

Сценарии и стили должны быть зарегистрированы и / или помещены в очередь с использованием соответствующих функций WP:

  • wp_enqueue_script ()

  • wp_enqueue_style ()

Любой другой тип контента может бытьподключается с помощью действия wp_head :

function hook_metacontent() {
    echo '<meta name="apple-itunes-app" content="app-id=' . $this->getOption('iOSID') . ', app-argument=' . 'http://' . $url . '">';

    // Google App Indexing
echo '<link rel="alternate" href="android-app://' . $this->getOption('AndroidID') . '/' . 'http/' . $url . '" />';
    echo '<link rel="alternate" href="ios-app://' . $this->getOption('iOSID') . '/' . 'http/' . $url . '" />';

    // App Icons
    echo '<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">';
    echo '<link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">';
    echo '<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">';
    echo '<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">';
    echo '<link rel="manifest" href="/manifest.json">';
    echo '<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">';
    echo '<meta name="msapplication-TileColor" content="#da532c">';
    echo '<meta name="msapplication-TileImage" content="/mstile-144x144.png">';
}
add_action('wp_head', ‘hook_metacontent');
...