私は PHP プログラマーではないため、この問題について 2 時間頭を悩ませてきました。これにはさまざまな方法があるようです。PHP/Wordpress の構文とロジックの知識が乏しいため、どれも機能しませんでした。
<?php bloginfo('name') ?>
トップレベルのページだけに異なる値をロードする関数を作成して呼び出す最良の方法は何ですか? つまり、最上位のメニュー ヘッダーです。
これらの線に沿って何かをする可能性があるかどうか疑問に思っていました:
<?php
if ( is_page( 'about' ) || == $post->post_parent ) {
bloginfo = 'about';
} elseif ( is_page( 'work' ) || == $post->post_parent ) {
bloginfo = 'work';
} elseif ( is_page( 'contact' ) || == $post->post_parent ) {
bloginfo = 'contact';
} else {
bloginfo('name');
}
?>
私はまだ wordpress と PHP の codex/syntax に慣れているため、疑似コードとして扱ってください。しかし、基本的には、セクション内のすべてのページの bloginfo 名としてメインのナビゲーション リンク名を使用する必要があります。それ以外は例外であり、デフォルトでホームの bloginfo 名に戻ります。
nav リンクのタイトル自体を関数に解析する方が簡単でしょうか?
できれば助けてください!
アップデート
以前のオプションを完全に捨てて、次のルートに進みました。
<?php if (is_page() || is_single( array( 62, 57, 51, 8 ) )) {
echo wp_title('');
}
else{
$category = get_the_category();
echo $category[0]->cat_name;
}?>
ちょっとお粗末ですが、wordpress サイトの参考資料をたくさん読んだ後、構文を理解し始めていると思います。そのため、ターゲティングの代わりにbloginfo()
、ページ タイトルをターゲットにしています。ただし、投稿に巨大なタイトルを付けたくないためpages
、実際にはカスタムページである少数の投稿を除いて、トップレベルの「」以外のすべてのページを最初のカテゴリに設定しているため、wp_title
値を表示する必要があります.
これをより柔軟で効率的な機能に変えるためのヒントがあれば、投稿をドロップしてください。そうでない場合は、数時間以内に解決します。