如何在wp_head中排列备用,图标和清单链接?

时间:2018-05-27 14:28:10

标签: wordpress wordpress-plugin-creation

我试图从我的插件中渲染元数据,图标和应用程序商店代码,但它被WordPress插件审核小组拒绝了:

  

请使用wp_enqueue命令

这就是我想要添加的内容:

1

但是,我没有看到这些特殊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完成的方式。什么是正确的&#34; WordPress&#34;从插件中执行此操作的方法?

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分: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

}
  

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

答案 2 :(得分:0)

  

什么是正确的&#34; WordPress&#34;从插件中执行此操作的方法?

你已经以正确的方式做到了。如果WordPress审核小组说或不说,那么问问他们为什么 - 甚至你应该如何编码function。 =)

尽管如此,您可能需要查看此内容:https://stackoverflow.com/a/8086420/9694859