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

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

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

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

Q&A

2回答

358閲覧

WordPressの管理画面でヘッダーを追加→Too few argumentsのメッセージ

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

0グッド

0クリップ

投稿2019/04/05 11:55

編集2022/01/12 10:55

前提・実現したいこと

参考本の通りに設定しています。
WordPressに管理画面「外観」の項目に「ヘッダー」を追加し、その「ヘッダー」をクリックしました。
うまくいけば、トップページにおける現在のメインイメージがプレビューされていることを確認できるはずです。

しかし、今回は以下のメッセージが出て、プレビューが確認できませんでした。

メインイメージのプレビューが表示されるように改善したいです。

※インストールしたのはWordPress 5.1.1で、参考本は4.x。バージョンが一致していません。その場合の改善法を知りたいです。

※imageの挿入箇所に「%s」と書きました(参考本通り)。それについてご指摘いただき、解決法を調べている最中です。こちらについても解決したいです。

※マルチポストです
https://ja.stackoverflow.com/questions/53968/wordpress%e3%81%ae%e7%ae%a1%e7%90%86%e7%94%bb%e9%9d%a2%e3%81%a7%e3%83%98%e3%83%83%e3%83%80%e3%83%bc%e3%82%92%e8%bf%bd%e5%8a%a0%e2%86%92too-few-arguments%e3%81%ae%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8

ヘッダーのプログラム(function.php)

<?php add_theme_support( 'custom-header', array( 'width'=>950, 'height'=>295, 'header-text'=>false, 'default-image'=>'%s/images/top/main_image.png', ) );

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

Warning:sprintf():Too few arguments in ホームページのアドレス/wp-includes/theme.php on line 915

試したこと

提携しているサーバー(エックスサーバー)のFTP内で、wp-includesフォルダ > theme.php の915行目がおかしいのかと思い見てみましたが、そもそも915行もありませんでした。

補足1(参考本についてなど)

参考本は「本格ビジネスサイトを作りながら学ぶWordPressの教科書Ver.4.x対応版」の通りにヘッダーを追加しています。(P58)

外観のテーマは、エックスサーバーのFTP内にアップロードしたのではなく、WordPress内に直接アップロードしました。

補足2(回答いただいた後試したこと)

wordpressの公式ページを参考に以下のように換えましたが、状況は同様(エラーメッセージ後に正しくない画面表示)でした。
※ご指摘いただいた「%s」については現在調べている最中です。

<?php //カスタムヘッダー add_theme_support( 'custom-header', $defaults = array( 'default-image' => '%s/images/top/main_image.png', 'width' => 950, 'height' => 295, 'header-text' => false, ) ); add_theme_support( 'custom-header', $defaults );

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

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

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

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

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

tabuu

2019/04/06 02:00

引数の数が足りないというエラーです。 インストールしたWordPress(及びPHP)のバージョンと、参考本がターゲットにしているバージョンが一致しているかご確認ください。 あと、画像に会社名らしきものが表示されていますので、ダミーでなければ削除していおいたほうがよいと思います。
退会済みユーザー

退会済みユーザー

2019/04/06 02:07

ご回答ありがとうございます。 インストールしたのはWordPress 5.1.1で、参考本は4.xなので一致していませんでした。 また、画像についてですが、参考本のサンプルデータを使用しているので大丈夫です。ありがとうございます。
Y.H.

2019/04/06 06:54 編集

画像について画像内に記載されている会社様は参考本以外での使用を承諾されているということでよろしいですね?
退会済みユーザー

退会済みユーザー

2019/04/06 06:40

WordPressの練習をするためのサンプルデータ内に書いてあった会社名なので、実在しないと思っていたのですが、著作権の問題が良くわからないので念のため消去します。 ご忠告ありがとうございます。
YukiYamashina

2019/07/19 03:01

functions.php に追記した add_theme_support 関数の呼び出しをすべて追記することは可能でしょうか?
guest

回答2

0

エラーの行から判断すると テーマディレクトリに置き換える

get_theme_mod

$default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );

で、テーマディレクトリに置き換えている部分でエラーになっていますね。

ただ、この部分は、3.x から変わっていないんで、5.x だからエラーがでるというのは、考えにくいのですが...


エラーの解決方法としては、カスタムヘッダー の「カスタムヘッダー画像をセットする」で、記載されている例のように %s を使用しないで get_template_directory_uri() を直接下記のように記載することが多いです。

add_theme_support( 'custom-header', $defaults = array( 'default-image' => get_template_directory_uri() . '/images/top/main_image.png', 'width' => 950, 'height' => 295, 'header-text' => false, ) ); add_theme_support( 'custom-header', $defaults );

※ 子テーマを使っている場合は、 get_template_directory_uri() の代わりに get_stylesheet_directory_uri() を使用します。

投稿2019/05/04 00:41

CHERRY

総合スコア25171

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

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

退会済みユーザー

退会済みユーザー

2019/07/19 02:04

ご回答ありがとうございます。 しかし私の勉強不足により、解決できないままでいます。
guest

0

以下のURLが公式なので、ここを参考に必要な設定をすれば大丈夫だと思います。
https://developer.wordpress.org/reference/functions/add_theme_support/#custom-header

ですが、default-imageに設定しているURLに「%s」が含まれていますが、何かに置き換えてから
add_theme_supportをコールするのではないでしょうか?

投稿2019/04/06 02:52

tabuu

総合スコア2449

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

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

退会済みユーザー

退会済みユーザー

2019/05/03 04:00

ご回答ありがとうございます。 しかし私の勉強不足により、解決できないままでいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問