web-dev-qa-db-ja.com

ページ本文にメニューを挿入するためのショートコード?

1ページのテキストにメニューを挿入する必要があります。私はこれら2つのプラグインを見つけましたが、それらのどれも動作しません。どちらも6年間更新されていません。

https://wordpress.org/plugins/custom-menu/

https://wordpress.org/plugins/custom-menu-shortcode/ /

私は自分自身のショートコードを作成するためにこのコードを見つけました

    function print_menu_shortcode($atts, $content = null) {
extract(shortcode_atts(array( 'name' => null, 'class' => null ), $atts));
return wp_nav_menu( array( 'menu' => $name, 'menu_class' => $class, 'echo' => false ) );
}

add_shortcode('menu', 'print_menu_shortcode');

そしてショートコードは次のようになります。

[menu name="-your menu name-" class="-your class-"]

それは動作しますが、クラスはまったく印刷されません。 関数の何が問題になっていますか クラスを印刷する必要があります。

1
JPashs

そのコードはうまくいくはずです。 「。myclass」ではなく、「myclass」をクラスとして使用しますか。

これは、クラスが常に同じになる特定の用途のためのものですか?これを1か所だけで使用したい場合は、次のようにします。

    function print_menu_shortcode($atts, $content = null) {
extract(shortcode_atts(array( 'name' => null, 'class' => null ), $atts));
return wp_nav_menu( array( 'menu' => $name, 'menu_class' => 'myclass', 'echo' => false ) );
}

add_shortcode('menu', 'print_menu_shortcode');

それから、必要なクラスでセクション 'menu_class' => 'myclass'を変更してください。これにより、クラスを使用する必要がなくなります。繰り返しますが、「。」は使用しないでください。ここのクラスの前で。

短いコードの使い方

[menu name="menu_name"]
1
rudtek