サイクル プラグインを使用した jQuery スライドショーを備えた Theme Forest から購入したカスタム WordPress テーマで友人を支援しています。すべてのページで問題なく動作します。私はコードを見て、私が理解できる唯一のことは、ブログページでは、すべての " および ' 文字の前にバックスラッシュを追加することにより、コードを誤って処理し、javascript でそれを壊していることです。 page.php ファイルと single.php ファイルの両方が次のコードを参照しています。
<div id="slide">
<?php
if ( get_post_meta($post->ID,'head', true) ) {
echo get_post_meta($post->ID,'head', true);
} elseif ( get_post_meta($post->post_parent,'head', true) ) {
echo get_post_meta($post->post_parent,'head', true);
} else {
echo get_option('retro_headimage');
}
?>
</div>
<script type="text/javascript">
$('#slide').cycle('fade');
</script>
次のように出力されます。
<div id="slide">
<img src="/wp-content/uploads/2009/11/over-the-hill.jpg" alt="" />
</div>
<script type="text/javascript">
$('#slide').cycle('fade');
</script>
「head」の post_meta が設定されていない投稿ページでは、これが出力される html です。
<div id="slide">
<img src=\"/wp-content/uploads/2009/11/over-the-hill.jpg\" alt=\"\" />
</div>
<script type="text/javascript">
$('#slide').cycle('fade');
</script>
これはjavascriptを壊します。そのため、ダッシュボードのテーマ オプション ページで設定されている「retro_headimage」のオプションがエコーされていることに気付きました。問題は、そのテーマ オプション ページに移動し、保存時に画像の正しいコードを再入力するたびに、バックスラッシュが再表示されることです。誰でも助けることができますか?