9

我正在尝试在我的插件的头部呈现元、图标和应用商店代码,但它被 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”方式是什么?

4

3 回答 3

0

这取决于您要包含的内容类型。

脚本和样式需要使用正确的 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');
于 2018-05-30T23:31:01.710 回答
0

从插件中执行此操作的正确“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

}

注意:如果您需要删除默认挂钩,此文件将为您提供用于删除挂钩的优先级。

于 2018-06-01T09:00:15.170 回答
0

从插件中执行此操作的正确“WordPress”方式是什么?

你已经以正确的方式做到了。如果 WordPress 审查团队说或说不是,那么问他们为什么——甚至你应该如何准确地编写function. =)

尽管如此,您可能想检查一下:https ://stackoverflow.com/a/8086420/9694859

于 2018-06-02T03:41:06.673 回答