前提・実現したいこと
WordPressで、画像やリンク、説明文をページごとに変化させるような
システムを作っています。
固定ページのテンプレート(PHP)にて、JavaScriptを埋め込むような形で実装しようとしているのですが、
うまくいきません。
SyntaxErrorが出ているため、PHP内でのJavaScriptの埋め込みの書き方が間違えているのでしょうか。
そもそもWordPress上ではPHP+JavaScriptといった実装の方法はできないのでしょうか。
PHP単体ですと動作しておりました。
コンソールログにて表示確認できているのは、
a
b
エラーメッセージ
e
g
h
です。
よろしくお願いいたします。
発生している問題・エラーメッセージ
Uncaught SyntaxError: Unexpected token '<' ?preview_id=380&preview_nonce=d271126c7c&preview=true:598
該当のソースコード
PHP
1<?php //通常ページとAMPページの切り分け 2/** 3 * Cocoon WordPress Theme 4 * @author: yhira 5 * @link: https://wp-cocoon.com/ 6 * @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later 7 */ 8if ( !defined( 'ABSPATH' ) ) exit; 9 10if (!is_amp()) { 11 get_header(); 12 } else { 13 get_template_part('tmp/amp-header'); 14 } 15?> 16 17<?php 18 //動作確認のためのコンソールログ表示 19 function console_log( $data ){ 20 echo '<script>'; 21 echo 'console.log('. json_encode( $data ) .')'; 22 echo '</script>'; 23} 24 25 console_log( "a" ); 26?> 27 28//追記部分(PHP) 29<?php 30 $path = get_template_directory_uri(); 31 $site = 'site_a'; 32 $args = array('commic01', 'commic02', 'commic03', 'commic04', 'commic05', 'commic06'); 33 34 // ファイルを変数に格納 35 $filename = $path.'/affiliate/'.$site.'/'.$args[0].'/url.txt'; 36 // ファイルを読み込み変数に格納 37 $url = file_get_contents($filename); 38 $src = $path.'/affiliate/'.$site.'/'.$args[0].'/banner.gif'; 39 40 // ファイルを変数に格納 41 $filename = $path.'/affiliate/'.$site.'/'.$args[0].'/description.txt'; 42 // ファイルを読み込み変数に格納 43 $description = file_get_contents($filename); 44?> 45 46<?php 47 console_log( "b" ); 48?> 49 50<?php //固定ページ内容 51get_template_part('tmp/page-contents'); ?> 52 53//追記部分(JavaScript) 54<script type="text/javascript"> 55$(function(){ 56 <?php 57 console_log( "c" ); 58 ?> 59 console.log('d'); 60 <?php 61 console_log( "e" ); 62 ?> 63 console.log('f'); 64 var jsrc = '<?php echo $src; ?>';//JavaScriptの変数に入れて試しています。 65 $('#image01').attr('src', jsrc); 66 $('#link01').attr('href', "<?php echo $url; ?>");//PHPの変数のままにしています。 67 $('#description01').html('<strong><span class="fz-18px">'+$description+'</span></strong></span>'); 68 <?php 69 console_log( "g" ); 70 ?> 71}); 72</script> 73 74<?php 75 console_log( "h" ); 76?> 77 78<?php get_footer(); ?>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー