昨日、記述したarchive-menu.phpですが、一覧のメニュー(全てのメニュー)が表示されるようになっているのですがボタンでそれぞれのメニュー(「パスタ」、「サラダ」、「パン&スイーツ」、「ドリンク」)の画面に飛ぶようにしたいです。下記のようなコードを書きました。

<div class=”p-menu__items-btns”>
<a href=”<?php echo esc_url(get_term_link(‘pasta’, ‘genre’)); ?>” class=”p-menu__items-btn”>
<span class=”p-menu__items-btn-name”>パスタ</span>
</a>
<a href=”<?php echo esc_url(get_term_link(‘salada’, ‘genre’)); ?> ” class=”p-menu__items-btn”>
<span class=”p-menu__items-btn-name”>サラダ</span>
</a>
<a href=”<?php echo esc_url(get_term_link(‘breadsweets’, ‘genre’)); ?>” class=”p-menu__items-btn”>
<span class=”p-menu__items-btn-name”>パン&<br>スイーツ</span>
</a>
<a href=”<?php echo esc_url(get_term_link(‘drink’, ‘genre’)); ?>” class=”p-menu__items-btn”>
<span class=”p-menu__items-btn-name”>ドリンク</span>
</a>
</div>

pastaを例にすると<a href="<?php echo esc_url(get_term_link('pasta', 'genre')); ?>" class="p-menu__items-btn">:ここでは、get_term_link('pasta', 'genre')関数を使用して、「パスタ」というジャンルのページへのリンクを動的に生成しています。esc_url関数は、URLを安全にエスケープするために使用されます。これにより、XSS(クロスサイトスクリプティング)攻撃などのセキュリティリスクを防ぐことができます。

最初に上記コードを書いたのですが、メニューを配列にして、少しまとめます。
<?php
$menu_items = [
‘pasta’ => ‘パスタ’,
‘salada’ => ‘サラダ’,
‘breadsweets’ => ‘パン&スイーツ’,
‘drink’ => ‘ドリンク’, ];
?>
<div class=”p-menu__items-btns”>
<?php foreach ($menu_items as $slug => $name): ?>
<a href=”<?php echo esc_url(get_term_link($slug, ‘genre’)); ?>” class=”p-menu__items-btn”> <span class=”p-menu__items-btn-name”><?php echo $name; ?></span> </a>
<?php endforeach; ?> </div>

まず$menu_itemsという配列を定義しています。この配列のキーにはカテゴリのスラッグ(英語名),値には表示する名前(日本語名)を設定しています。
次に、foreachループを使用して、この配列の各要素に対してリンク(aタグ)を生成しています。ループ内では、$slug$nameをそれぞれのメニュー項目のスラッグと名前として使用し、get_term_link関数に$slugを渡してカテゴリーページへのリンクを生成し、$nameでメニューの名前を表示しています。まだ、効率化できそうですが、今の私のレベルではここまでです。