\wp-includes\nav-menu-template.php
のファイルを以下に書き換えました。
WordPress core(本体)のファイルは書き換えなくても、HOOK で処理を変更できるようになっている部分が多くあります。
今回の内容では HOOK が利用できるので書き換える必要はありません。
また、WordPress 本体を書き換えると WordPress のアップデートで書き換えた部分が元に戻るので、自動アップデートされた場合に原因不明の不具合が発生する原因になります。
今回、プログラムを直接書き換えたことによって、表示が消えた理由ですが、'echo' を false にしたからです。
この関数は、引数で表示/値で返すを切り替えできるようになっていて、 echo
が、true
だと関数の位置に表示。false
だと画面に表示しないで、変数等に代入できるように文字列が返ってきます。
WordPress 的に推奨される方法としては、お使いのテーマの functions.php の中で、HOOK を使って置き換える方法です。
WordPress 4.x 以降には、wp_nav_menu の出力直前に出力内容を書き換えできる wp_nav_menu
HOOK が用意されていますので、これを使ってください。
例:
function my_wp_nav_menu_179217 ( $output, $args ){
return str_replace( '|', '<br>', $output );
}
add_filter( 'wp_nav_menu', 'my_wp_nav_menu_179217', 10, 2 );
この HOOK は、WordPress Codex 日本語版には記載がないので、英語版のドキュメント Hooks / wp_nav_menu - Code Reference 参照してください。