web-dev-qa-db-ja.com

StudioPress:すべてのページにメタタグを追加する

私のサイトのすべてのページにこのメタタグを追加する必要があります。

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

私はgithubでこのPHP関数を見つけました

add_action( 'wp_head', 'wsm_keep_ie_modern' ); 
function wsm_keep_ie_modern( $headers ) {
   if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) ) {
           $headers['X-UA-Compatible'] = 'IE=Edge';
    }
    return $headers;   
}

FTPでファイルをダウンロードし、このチャンクをテキストエディタで最後に追加してから(FileZilla経由で)アップロードして、私の子テーマのfunctions.phpファイルに追加してみました。

これは機能せず、デバッガでHTMLソースファイルを表示してもメタタグが表示されないことがわかりました。個々のHTMLページにアクセスすることはできません。それ以外の場合は手動で追加するだけです。

そして、はい、私はIEが何百万回も吸うことを知っています、そしてその古いバージョンはもはやサポートされていません、しかし私はそれを動くように厳しく命令しています。また、昨日Web開発をこれまで一度も行ったことのないこのワードプレスの混乱に、私は投げ込まれたばかりです(ただし、コーディングのバックグラウンドはいくつかあります)。だから私は5つお願いしますようにそれを説明します。

TL; DR:StudioPress Webサイトのすべてのページに同じメタタグを追加する方法を教えてください。また、私の理解によれば、それはヘッダーの中に、そして可能な限りトップの近くにある必要があります。

1
A.PSI

この機能は各ページ/投稿のヘッドへの入力に注意を払うべきです。

次のコードを追加する前に、functions.phpのコピーを作成してください。
必要なら自分の好みに合わせてください。

/**
 * Add meta to head
 *
 * Read more {@link https://codex.wordpress.org/Plugin_API/Action_Reference/wp_head} 
 * @version Wordpress 4.8
 */
function wpse272951_wsm_keep_ie_modern() 
{
    echo "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/> \n";
} 
add_action( 'wp_head', 'wpse272951_wsm_keep_ie_modern' );

PS、それはあなたが述べたようにヘッダに追加されるべきではなく、ページの先頭に追加されるべきです <head> </head>の間 (これは自動的にこの関数によって行われます)。

3
Charles