代码之家  ›  专栏  ›  技术社区  ›  TruMan1

如何在wp头中排队备用链接、图标和清单链接?

  •  7
  • TruMan1  · 技术社区  · 7 年前

    我正在尝试从我的插件在头部呈现meta、图标和应用程序存储代码,但它被WordPress插件评审团队拒绝:

    请使用wp_equeue命令

    这是我想补充的:

    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 回复  |  直到 7 年前
        1
  •  0
  •   patilnitin    7 年前

    这取决于您希望包含在哪种内容中。

    脚本和样式需要使用适当的wp函数进行注册和/或排队:

    • wp_排队_脚本()

    • wp-排队

    任何其他类型的内容都可以使用 wp_头 动作钩:

    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');
    
        2
  •  0
  •   stefan    7 年前

    从插件中正确的“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
    
    }
    

    注: 如果您需要删除一个默认的钩子,这个文件将为您提供用于删除钩子的优先级。

        3
  •  0
  •   user9694859    7 年前

    从插件中正确的“wordpress”方式是什么?

    你已经做对了。如果Wordpress审查小组说或者说不是,那么问他们为什么——或者甚至你应该如何精确地编码 function . =)

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