私はワードプレスのテーマとPHPが初めてです。(これがWPに固有のものだとは思いません)HTMLのブロック(PHPコードが埋め込まれた)をPHP変数に保存する最良の方法を知りたいです。
<?php
function rfttc_insert_nav_menu ($position){
$poswanted = 'above';
$nav_code =
'<nav id="site-navigation" class="main-navigation" role="navigation">
<h3 class="menu-toggle"><?php _e( \'Menu\', \'twentytwelve\' ); ?></h3>
<a class="assistive-text" href="#content" title="<?php esc_attr_e( \'Skip to content\', \'twentytwelve\' ); ?>"><?php _e( \'Skip to content\', \'twentytwelve\' ); ?></a>
<?php wp_nav_menu( array( \'theme_location\' => \'primary\', \'menu_class\' => \'nav-menu\' ) ); ?>
</nav><!-- #site-navigation -->'
if($position == $poswanted)
return $nav_code;
}
?>
ここで多くの質問を読むと、nowdoc と heredoc は適切な選択ではないと思います。一重引用符を試し、中の一重引用符をエスケープしました。二重引用符と同じです。どちらの試行でも、エラー メッセージが表示されました。
ここで何か助けていただければ幸いです。
編集* 次のコードは、最終的に機能したものです。
<?php
function rfttc_insert_nav_menu ($position){
$poswanted = 'below';
if($position == $poswanted){?>
<nav id="site-navigation" class="main-navigation" role="navigation">
<h3 class="menu-toggle"><?php __( 'Menu', 'twentytwelve' )?> </h3>
<a class="assistive-text" href="#content" title="<?php
esc_attr_e( 'Skip to content', 'twentytwelve' );
?>"><?php _e( 'Skip to content', 'twentytwelve' );?>"</a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) );?>
</nav><!-- #site-navigation -->
<?php
}
}
?>
正しい方向に向けてくれた TJohnW に感謝します: インライン PHP を挿入しようとするのではなく処理します。