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

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

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

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

PHP

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

Q&A

解決済

1回答

619閲覧

WordPressー固定ページでのみサイズ指定したアイキャッチの自動生成をしたい

mjmjmj

総合スコア28

WordPress

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

PHP

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

0グッド

0クリップ

投稿2020/06/04 08:08

編集2020/06/05 03:29

固定ページで、デフォルトサイズの他に特定サイズ(size_aとします)のアイキャッチ自動生成を設定しました。
当然ながら通常投稿・カスタム投稿タイプ(3つあります)でも、固定ページ同様のsize_aのアイキャッチが自動生成されます。

固定ページでのみ、size_aの自動生成をさせたいのですが
つまり、通常投稿・カスタム投稿タイプ(3つ)では、size_aを自動生成させないという指示がわからず困っております。

参考に下記ページなどを調べてヒントがあったのですが、カスタム投稿タイプが3つありまして応用方法がわかりません。
https://www.webdesignleaves.com/pr/wp/wp_post_thumbnail.html

どなたかご教授いただきたく存じます。
よろしくお願い申し上げます。

追記

アイキャッチをアップロードすると、いくつかのサイズで自動生成が行われる挙動がWordPressにはあると思います。
実際に下記のコードで、通常投稿でアイキャッチをアップした場合とカスタム投稿タイプAでアップした場合では、size_aの自動生成は行われませんでした。

通常投稿とカスタム投稿タイプAでアップロードした画像はsize_aの自動生成は行われないようにする指示

php

1function remove_my_image_sizes($sizes) { 2 if (isset($_REQUEST['post']) && 3 ('カスタム投稿タイプA' === get_post_type((int) $_REQUEST['post']) || 'post' === get_post_type((int) $_REQUEST['post']))) { 4 unset($sizes['page-sp']); 5 return $sizes; 6 } 7 return $sizes; 8} 9add_filter( 'intermediate_image_sizes_advanced', 'remove_my_image_sizes' );

今回、カスタム投稿タイプが他に BとC で計3つあるので、その指示の仕方がわからずご助言をいただきたいと存じます。
アイキャッチの複数サイズ自動生成のことをご存知で、上記お分かりになる方、よろしくお願い申し上げます。

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

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

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

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

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

tabuu

2020/06/04 23:46 編集

固定ページでアイキャッチを自動生成するとはどういう挙動でしょうか? アイキャッチの元となる画像はメディアライブラリで登録するものであり、 固定ページではその画像を参照するだけで生成はしていません。 もしくはプログラムで自動生成されるような仕組みを自作されているのでしょうか? (追記) いずれにしても、その箇所のソースコードをご提示ください。
mjmjmj

2020/06/05 03:30

回答をありがとうございます。 WordPressの複数サイズ自動生成について加筆しました。
guest

回答1

0

ベストアンサー

こんな感じででしょうか。

PHP

1function remove_my_image_sizes($sizes) { 2 if (isset($_REQUEST['post'])) { 3 $post_type = get_post_type((int) $_REQUEST['post']); 4 if ($post_type == 'post' || $post_type == 'カスタム投稿タイプA' || $post_type == 'カスタム投稿タイプB' || $post_type == 'カスタム投稿タイプC') { 5 unset($sizes['page-sp']); 6 return $sizes; 7 } 8 } 9 return $sizes; 10} 11add_filter( 'intermediate_image_sizes_advanced', 'remove_my_image_sizes' );

投稿2020/06/05 04:34

tabuu

総合スコア2449

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

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

mjmjmj

2020/06/05 07:18

早速ありがとうございます 試してみましたが、カスタム投稿タイプAでもカスタム投稿タイプBでもカスタム投稿タイプCでも指定したアイキャッチサイズが自動生成されてしまいました。 ですが、そもそもアップした画像の自動生成の概念を私がきちんと理解していないことが問題とわかりました。アップロードする画像サイズに依存するという点を考慮していなかったようです。 いただいたコードを使用し、サイズ定義を改めてみます。 そうしたら上記コードが正しく活かせるような気がします。 お力添え感謝いたします、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問