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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

6340閲覧

WordPressのfunction.phpが効かない

UUTUM

総合スコア9

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/02/12 01:25

編集2020/02/13 01:04

【課題点】

Wordpressのfunctions.phpが効かずに困っております。

【詳細情報】

テーマ
habakiri
(※)今回変更したい箇所はhabakiriの子テーマのfunctions.phpになります。
habakiri-child: functions.php (modules/functions.php)

<WordPress version> バージョン 5.3.2

<使用エディタ>
Classic Editor

<参考にしたブログURL>
すみません。半年以上前のこともあり、こちらに関しては見つけられておりません

【やりたいこと】

function.phpに
以下の要素を追加したいと考えております。

<WordPressの自動整形を無効にする>
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

<functions.php>

php

1[php] <?php 2add_action( ‘wp_enqueue_scripts’, ‘theme_enqueue_styles’ ); 3function theme_enqueue_styles() { 4wp_enqueue_style(parent-style’, get_template_directory_uri() ./style.css’ ); 5wp_enqueue_style( ‘child-style’, 6get_stylesheet_directory_uri() ./style.css’, 7array(parent-style’) 8); 9} 10[/php]

(※)子テーマを作成する時は、この記述をfunction.phpに入れなさいとブログに書いてある通りそのまま
記入したコードになります。

<functions.phpにタグを追加してみる>

php

1[php] <?php 2add_action( ‘wp_enqueue_scripts’, ‘theme_enqueue_styles’ ); 3function theme_enqueue_styles() { 4wp_enqueue_style(parent-style’, get_template_directory_uri() ./style.css’ ); 5wp_enqueue_style( ‘child-style’, 6get_stylesheet_directory_uri() ./style.css’, 7array(parent-style’) 8); 9remove_filter( 'the_content', 'wpautop' ); 10remove_filter( 'the_excerpt', 'wpautop' ); 11} 12[/php]

<(修正反映functions.php>
・クォーテーションの記述を変更
・[php][/php]を消去

php

1<?php 2add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); 3function theme_enqueue_styles() { 4wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); 5wp_enqueue_style( 'child-style', 6get_stylesheet_directory_uri() . '/style.css', 7array('parent-style') 8); 9remove_filter( 'the_content', 'wpautop' ); 10remove_filter( 'the_excerpt', 'wpautop' ); 11} 12

※コード内のクォーテーションを全て変更いたしましたが、
全ての文字が真っ赤になりました。これは何か間違えているって表示ですかね?
もしかしてクォーテーションの正誤逆ですか?

<結果>
woautop(自動整形の無効化が確認できず)
まったくなにも変わらず困っております。

<疑問点>
どうすれば、functions.phpに対して追加したコードが機能するでしょうか?
追加したいコードの記述する位置が違うのでしょうか?

お手数をおかけいたしますがご教示いただけますと幸いです。
何卒よろしくお願いいたします。

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

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

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

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

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

tabuu

2020/02/12 01:42

書き間違いかもしれませんが「function.php」ではなく「functions.php」です。
UUTUM

2020/02/12 01:48

>tabuuさま ご返答頂きありがとうございます! こちらに質問する際に記述を間違えておりました。 wordpress上では、functions.phpとなっておりました。 ご指摘ありがとうございます! 訂正いたしました!
退会済みユーザー

退会済みユーザー

2020/02/12 02:16

[php]と[/php]も書いているんですか? [php]と[/php]は不要な記述です。
UUTUM

2020/02/12 02:23

onodaさま >[php]と[/php]も書いているんですか? [php]と[/php]は不要な記述です。 こちらご指摘頂きありがとうございます 削除いたします!
退会済みユーザー

退会済みユーザー

2020/02/12 02:34

使用しているWordPressのバージョンと、使用しているエディタ(Classic EditorかGutenbergか)も追記してください。また、参考にしたブログのURLをお願いします。
UUTUM

2020/02/12 04:03

>onodaさま 情報以下に記載いたしましたので、お手数ですが ご確認何卒よろしくお願いいたします。 【詳細情報】 テーマ habakiri (※)今回変更したい箇所はhabakiriの子テーマのfunctions.phpになります。 habakiri-child: functions.php (modules/functions.php) <WordPress version> バージョン 5.3.2 <使用エディタ> Classic Editor <参考にしたブログURL> すみません。半年以上前のこともあり、こちらに関しては見つけられておりません
退会済みユーザー

退会済みユーザー

2020/02/12 05:13

追加情報は質問文に追記していただけますか? また、”wpautop”を無効にすることで、どのような動作を期待しているのか、どの動作に着目してこのコードで動作していないと判断しているのかを追記していただけますか。
UUTUM

2020/02/12 05:50

onodaさま >追加情報は質問文に追記していただけますか? 今回の追加情報は大事な情報だと判断したので、質問文以外も変更しましたが、 全体に対しての情報共有なので必要なのかなと考えましたが、よくないということですか? (できれば理由も含めてお教えいただけますと幸いです) >また、”wpautop”を無効にすることで、どのような動作を期待しているのか、どの動作に着目してこのコードで動作していないと判断しているのかを追記していただけますか。 【wpautopを無効にすることで期待していること】 ”wpautop”を無効にすることで期待しているのは、 wordpressの自動整形を[無効]にしたいと考えております。 htmlを記入時に<p>タグ<br>タグが勝手に付与されないようにしたいです。 【wpautopが[有効][無効かの判断基準 (functions.phpが効かないと判断している理由)】 htmlコードを記入して、[更新]を押した段階でコードが自動整形されているかいないかを 判断の基準にさせていただいております。 もしくは、現在製作中のアコーディオンがきちんと動作するかどうかが判断の基準となります。 アコーディオンに関する質問 https://teratail.com/questions/239937 現在、アコーディオンを作成しており、あるサイトのアコーディオンのソースを参考に自分のwordpress にコピペで入れてみたところ、うまくアコーディオンが機能せずに困っておりました。 そこで、本サイトを利用して質問したところ、”wpautop”が原因ということがわかり functions.phpにwpautop無効のコードを記入したところ機能しませんでした。 プラグインで同様の解決方法があるという情報もお教えいただいたので、そのプラグインを導入して 試した所、アコーディオンはうまく機能するようになりましたが、functions.phpが今後、他の情報を追加した場合も機能しないというのは困るので質問を上げさせて頂きました。
退会済みユーザー

退会済みユーザー

2020/02/12 08:22

> 今回の追加情報は大事な情報だと判断したので、質問文以外も変更しましたが、 全体に対しての情報共有なので必要なのかなと考えましたが、よくないということですか? いいえ。解決につながるかも知れない重要な情報はこの欄にではなく、質問文自体へ追記して欲しいというお願いです。 コメントされた情報のいくつか(WordPressのバージョン情報やClassic Editorを使っていることなど)は質問文に追記していなかったようなのでお願いしました。
UUTUM

2020/02/13 01:03

onodaさま ご返答頂きありがとうございます! 質問文=上の項目ということですね また、大変失礼いたしました。 情報、質問文にも記載したつもりでいましたが、 更新がうまくできておらず反映できておりませんでした。
退会済みユーザー

退会済みユーザー

2020/02/15 05:58

質問文への追記ありがとうございました。 ローカル環境にWP v5.3.2、「habakiri」子テーマ、プラグイン「Classic Editor」を導入し、functions.phpに「修正反映functions.php」のコードをコピペして試してみましたが、以下の動作を確認できました。 ビジュアルエディタに、 A B C と記載し、ページを表示すると A B C とタグ付加なしで一列に表示される。 UUTUMさんが欲しい動作はこういうことであっていますか?
UUTUM

2020/02/17 00:20

onodaさま 同様の環境で試してみましたが、私の環境では、 ビジュアルエディタで同様に A B C と入力すると、そのまま A B C と表示されてしまいます。 (※自動で<br><p>が付与されてしまう) 欲しい動作はご指摘いただいた挙動であっております。 また、なるべくプラグインには頼りたくないので「ClassicEditor」も function.phpが機能するのであれば外したいと考えております。 以上になりますが、引き続きよろしくお願いいたします
guest

回答2

0

クオーテーションが違います。

誤り ‘hoge’ 正解 'hoge'

投稿2020/02/12 01:38

編集2020/02/12 01:38
kyoya0819

総合スコア10429

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

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

UUTUM

2020/02/12 02:06 編集

(!)本ページ上部に修正を反映したコードを上げました コード内のクォーテーションを全て変更いたしましたが、 全ての文字が真っ赤になりました。これは何か間違えているって表示ですかね? もしかしてクォーテーションの正誤逆ですか?
kyoya0819

2020/02/12 02:26

これで良いです。 変数の部分をわかりやすくするために赤い色になっています。 まずはお試しください。 別件ですが。phpのエラー表示をオンにすると原因追及がしやすいです。
UUTUM

2020/02/12 04:11 編集

>asuchi0819さま ご返答頂きありがとうございます! 変数の部分をわかりやすくする為に赤色に変更する旨、承知いたしました 勉強になります! >別件ですが。phpのエラー表示をオンにすると原因追及がしやすいです。 エラー表示に関して、下記のサイトを参考に[edump]というプラグインを導入してみました。 参考サイト:https://nelog.jp/edump-wordpress-error-check プラグインに頼る理由は、細かい設定がなく比較的初心者の私でも簡単にできるのではないかと思った点です。設定はしたもののエラーをどこで確認し、どういう風に情報を得ればいいのかまったくわかりませんでした。大変恐縮ですがどのようにしてどのような情報を取得すれば原因追及がしやすくなるのでしょうか? ご返答いただけましたら幸いです 何卒引き続きよろしくお願いいたします。
kyoya0819

2020/02/12 04:14 編集

まず、クォーテーションを変更した結果、動作しましたか?
UUTUM

2020/02/12 04:49

>asuchi0819さま >まず、クォーテーションを変更した結果、動作しましたか? 失礼いたしました。結果の記述しておりませんでした。 クォーテーション変更後確認しましたが、反映されておりませんでした。
kyoya0819

2020/02/12 06:55

サーバーはどこですか?
UUTUM

2020/02/12 08:23

asuchi0819さま サーバーはロリポップサーバー(レンタルサーバー)を使用しております。
guest

0

自己解決

上記、問題点に関しまして自己解決した為修正方法を記述しておきます。

問題点:
親テーマ(habakiri)と子テーマ(habakiri.child)のfunctions.phpの階層が違いました。
この為、functions.phpにいくら情報を追加してもその記述は一切機能しませんでした。

詳細:
habakiri.childのフォルダ内をFTPで確認した所、modulesというフォルダにfunctions.phpが
格納されており、header.phpと同じようにhabakiri.childフォルダの直下に配置することで
functions.phpが機能するようになりました。

× habakiri-child └header.php └footer.php └modules  └functions.php  └copyright.php  └javascript.js ○ habakiri-child └header.php └footer.php └functions.php └modules  └copyright.php  └javascript.js

所感:
最初の単純な設定のミスで長らく苦しみました。
なぜ、moduleというフォルダにfunctions.phpを格納したのかは今となっては謎です。
以下のコードの追加が自分の中でもっとも簡単にfunctions.phpが機能しているのか確認できるコードでした。
wordplessのビジュアルエディタを非表示にしてコードエディタのみで記述するようにするコード。
以下をfunctions.phpに追加して反映されれば、機能している。
反映されなければ機能していない。という判断で進めました。

php

1/** 2ビジュアルエディタを非表示にするコード 3*/ 4function disable_visual_editor_in_page(){ 5add_filter('user_can_richedit', 'disable_visual_editor_filter'); 6} 7function disable_visual_editor_filter(){ 8return false; 9} 10add_action( 'load-post.php', 'disable_visual_editor_in_page' ); 11add_action( 'load-post-new.php', 'disable_visual_editor_in_page' ); 12

御礼:
本件にご協力して頂いた方々本当にありがとうございました!
また機会があれば何卒よろしくお願い致します。

投稿2020/03/24 00:24

UUTUM

総合スコア9

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問