質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2415閲覧

WordPressのテーマ作成でfunction.phpを使いcssやjsをページごとに振り分けたい

nuTa

総合スコア4

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/05/10 13:37

編集2020/05/10 13:38

前提・実現したいこと

WordPressのfunction.phpでcssとjsをページごとに振り分けたいと考えています。
そこでネットで調べながら、振り分けのコードを作ってみたのですが、
サーバーにアップして確認しようとすると、以下の様なエラーが出てきます。

発生している問題・エラーメッセージ

Parse error: syntax error, unexpected ';' in /home/****/****/public_html/wp/wp-content/themes/appLife/functions.php on line 37 サイトに重大なエラーがありました。

****の箇所は伏字にしております。

該当のソースコード

PHP

1<?php 2/** 3 *css,jsを読み込む 4 */ 5 6function register_stylesheet() { //読み込むCSSを登録 7 wp_register_style('reset', get_template_directory_uri().'/css/reset.css'); 8 wp_register_style('swiper', get_template_directory_uri().'/css/swiper.min.css'); 9 wp_register_style('commonstyle', get_template_directory_uri().'/css/common.css'); 10 wp_register_style('style', get_stylesheet_uri()); 11 wp_register_style('singlestyle', get_template_directory_uri().'/css/single.css'); 12 wp_register_style('Noto+Sans+JP', 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap'); 13} 14 15function register_script() { 16 //wp_register_style(スクリプトの名称, JSファイルの場所)でスクリプトを登録 17 wp_register_script('jquery', wp_enqueue_script('jQuery')); 18 wp_register_script('swiperjs', get_template_directory_uri() . '/js/swiper.min.js',); 19 wp_register_script('masonryjs', get_template_directory_uri() . '/js/masonry.pkgd.min.js',); 20 wp_register_script('imagesloadedjs', 'https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.min.js'); 21} 22 23function add_styles() { 24 register_stylesheet(); 25 if(is_front_page()){ 26 wp_enqueue_style('reset'); 27 wp_enqueue_style('swiper', array('reset')); 28 wp_enqueue_style('commonstyle', array('swiper')); 29 wp_enqueue_style('style', array('commonstyle')); 30 wp_enqueue_style('Noto+Sans+JP', array('mainStyle')); 31 } elseif (is_category()) { 32 wp_enqueue_style('reset'); 33 wp_enqueue_style('commonstyle', array('reset')); 34 wp_enqueue_style('style', array('commonstyle')); 35 wp_enqueue_style('Noto+Sans+JP', array('mainStyle')); 36 } else (is_single()) { 37 wp_enqueue_style('reset'); 38 wp_enqueue_style('commonstyle', array('reset')); 39 wp_enqueue_style('style', array('commonstyle')); 40 wp_enqueue_style('singlestyle', array('style')); 41 wp_enqueue_style('Noto+Sans+JP', array('singleStyle')); 42 } 43} 44add_action( 'wp_enqueue_scripts', 'add_styles' ); 45 46function add_script() { 47 register_script(); 48 if(is_front_page()){ 49 wp_enqueue_script ('jquery'); 50 wp_enqueue_script ('swiperjs', array(), '5.2.1', true); 51 wp_enqueue_script ('masonryjs', array(), '4.2.2', true); 52 wp_enqueue_script ('imagesloadedjs', array(), '4.1.4', true); 53 } elseif (is_category()) { 54 wp_enqueue_script ('jquery'); 55 wp_enqueue_script ('masonryjs', array(), '4.2.2', true); 56 wp_enqueue_script ('imagesloadedjs', array(), '4.1.4', true); 57 } else (is_single()) { 58 wp_enqueue_script ('jquery'); 59 } 60} 61add_action( 'wp_enqueue_scripts', 'add_script' );

試したこと

エラーメッセージの該当の行は「function add_styles」の「else (is_single()」にある「wp_enqueue_style('reset');」の部分です。
エラーを見る限り、ここの「;」が不要とのことかと思いますが、外すと別のエラーになります。
また、そもそもこの箇所は「;」が必要なのではと考えております。

PHPやワードプレステーマの作成は初心者で、手探りながらコードを書いているため、全体の記述自体が誤っているのかも知れませんが、いろいろ調べても解決できない状態です。

皆様のお力をお借りできましたら幸いです。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PHP

1// } else (is_single()) { 2// ↓ 3 } elseif (is_single()) {

投稿2020/05/10 13:45

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nuTa

2020/05/10 14:24

if文の最後はelseになると思い込んでおりました。 初歩的な間違いで恐縮です。。 ご指摘の内容で解決いたしました。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問