0

ワードプレスと購入したテンプレートでウェブサイトを構築しています。オプション/ページ作成にいくつかの機能を追加しました。オプションで一般的なメタ ディスクリプションを設定し、作成中に各ページのメタ ディスクリプションを設定できます。

私は PHP にまったく慣れていませんが、コードに必要なものをすべて追加することができました。それほど難しいことはありませんでしたし、うまく機能しています。私の質問は次のとおりです。ソリューションを最適化するにはどうすればよいですか? 私のアプローチの欠点は何ですか?

HTML (header.php):

<?php
// Defining a global variable
global $page_meta_description;

// Initializing the variable with the set value from the page
$page_meta_description= get_post_meta($post->ID, MTHEME . '_page_meta_description', true);

// Add meta tag if the variable isn't empty
if ( $page_meta_description != "" ) { ?>
    <meta name="description" content="<?php echo $page_meta_description; ?>" />

<?php }

// Otherwise add globally set meta description
else if ( of_get_option('main_meta_description') ) { ?>
    <meta name="description" content="<?php echo of_get_option('main_meta_description'); ?>" />
<?php }

// Set global meta keywords
if ( of_get_option('main_meta_keywords') ) { ?>
    <meta name="keywords" content="<?php echo of_get_option('main_meta_keywords'); ?>" />
<?php } ?>
4

1 に答える 1

1

wp_headフックを使用できます。

// write this in your plugin
add_action('wp_head', 'myplugin_get_meta_tags');

function myplugin_get_meta_tags()
{
    $content = '';
    $content .= '<!-- add meta tags here -->';
    return $content;
}

これは、header.php ファイルですべてのロジックを実行するよりも少しエレガントだと思います。

このためのプラグインを作成したくない場合、または単一のテーマに必要な場合は、このコードをテーマのfunctions.phpファイルに追加できます (詳細についてはリンクを確認してください)。

ノート

ソリューションの欠点は次のとおりです。

  • 別のヘッダーを使用する新しいテンプレートを作成する必要がある場合は、メタ コードを各新しいファイルにコピーする必要があります。変更を加えるときは、すべてのヘッダー ファイルでそれらを行います。
  • テンプレート ファイルにはできるだけロジックを含めないようにする必要があります。たくさんのifs があると、不必要に散らかってしまいます。
于 2013-06-07T07:09:22.570 に答える