[ 解決済 ] デフォルトサムネイルの参照について
[ 解決済 ] デフォルトサムネイルの参照について
-
投稿者投稿
-
2024年7月8日 5:04 PM #96246
gundam参加者■ WordPress のバージョン
6.5.5■ テーマ・プラグインは全て最新版で確認してください。
確認しました。■ テーマの種類
Lightning ( G3 ) + Lightning G3 Pro Unit■ テーマのバージョン
15.25.1■ Pro Unit のバージョン
0.26.8■ スキンの種類
Origin III■ 期待する動作
以前カスタム投稿の関連記事を教えていただいたのですが、
アイキャッチが登録されていない場合、画像の部分が真っ白になってしまいます。
当然、画像がないので真っ白なのですが、
ここに、ない場合は、デフォルトサムネイルを表示させたいです。
PHPでデフォルトサムネイル画像のパスを設定すれば事足りるのですが、
PHPで書いた後にデフォルトサムネイルを変更した場合は、当然以前の画像になってしまいます。
それで、デフォルトサムネイルの参照の仕方を知りたいです。どうぞよろしくお願いいたします。
■ 自分で試した事
function veu_add_related_posts_item_info_html($post)
{$post_item_html = ‘<div class=”vk_post vk_post-postType-information card card-post vk_post-col-xs-6 vk_post-col-sm-6 vk_post-col-md-4 vk_post-col-lg-4 vk_post-col-xl-4 vk_post-col-xxl-4 information type-information”>’;
if (has_post_thumbnail($post->ID)) :
$post_item_html .= ‘<div class=”vk_post_imgOuter” style=”background-image:url(‘;
$post_item_html .= get_the_post_thumbnail_url($post->ID, ‘medium’) . ‘)”>’;
$post_item_html .= ‘ID) . ‘”>’;
$post_item_html .= ‘‘;
$post_item_html .= ‘</div>’;endif;
$post_item_html .= ‘<div class=”vk_post_body card-body ks-title-box”>’;
$post_item_html .= ‘<h5 class=”vk_post_title card-title ks-title-h5″>’;
$post_item_html .= ‘ID) . ‘”>’ . $post->post_title . ‘</h5>’;
$post_item_html .= ‘<div class=”vk_post_date card-date published”>’ . get_the_date(”, $post->ID) . ‘</div>’;
$post_item_html .= ‘</div>’;
$post_item_html .= ‘</div>’ . “\n”;
$post_item_html = apply_filters(‘veu_related_post_item’, $post_item_html);
return $post_item_html;
}分岐で画像パスを変えることはできるが、デフォルトサムネイル自体変更した場合は、意味がなくなってしまう。
■ 症状が発生するブラウザ
safari■ 実際の症状
デフォルトサムネイルの参照先がわかりません。
よろしくお願いいたします。2024年7月9日 5:33 PM #96329ExUnit > メイン設定 でデフォルトサムネイルを登録すれば自動的に反映されるはずですがそれではダメな理由は何でしょうか?
2024年7月9日 6:35 PM #96335
gundam参加者石川様お返事ありがとうございます。
説明が下手で申し訳ございません。
デフォルトサムネイルが登録されていて、アイキャッチがが登録されていない場合、自動でデフォルトサムネイルが
表示されるってことだとは思うのですが…if (has_post_thumbnail($post->ID)) :
$post_item_html .= ‘<div class=”vk_post_imgOuter” style=”background-image:url(‘;
$post_item_html .= get_the_post_thumbnail_url($post->ID, ‘medium’) . ‘)”>’;
$post_item_html .= ‘ID) . ‘”>’;
$post_item_html .= ‘‘;
$post_item_html .= ‘</div>’;endif;
このコードだと、もしもアイキャッチが登録されているならばってことだと思うのですが
されてなければ、真っ白(なし)ってことだと思うのですが
アイキャッチが登録されていなければ、分岐で、デフォルトサムネイルの画像パスを指事しようと思ったのですが
この方法だと、デフォルトサムネイルが変更したら、意味がないって事でした。よくよく考えてみると
例えば、変数アイキャッチというものがあるとして、
そもそも、その変数アイキャッチには、アイキャッチが登録されていれば、その画像、されていなければデフォルトサムネイルって感じの変数(関数)になっているのでしょうか?
それならば、単純にその変数を使えば良いという事ですかね?その場合は、どういった関数になるのでしょうか?
よろしくお願いいたします。2024年7月9日 9:26 PM #96338the_post_thumbnail();
で表示可能です。
よろしくお願いいたします。
追伸 : コードを掲載の場合は添付のように
でくくるとそのまま貼れます。
Attachments:
You must be logged in to view attached files.2024年7月10日 11:28 AM #96371
gundam参加者石川様、ありがとうございます。
まだまだPHP勉強中なのですが、
the_post_thumbnail();こちらは、アイキャッチ画像をimgタグとして出力になるのですよね?
実際、lightningのカード型レイアウトでは、スタイルでbackground-imageを使っているかと思われます。
そうなると、the_post_thumbnail();では出来なかったです。デフォルトサムネイルのパスを試しに入れてみても、真っ白だったので、根本的に何か間違っていると思うので、
色々と試してみたいと思います。if (has_post_thumbnail($post->ID)) { $post_item_html .= '<div class="vk_post_imgOuter" style="background-image:url('; $post_item_html .= get_the_post_thumbnail_url($post->ID, 'medium') . ')">'; $post_item_html .= '<a href="' . get_the_permalink($post->ID) . '">'; $post_item_html .= '</a>'; $post_item_html .= '</div>'; } else { $post_item_html .= '<div class="vk_post_imgOuter" style="background-image:url(https://xxx.xxxxx.com/wp-content/uploads/2024/06/20240625-02.jpg)">'; $post_item_html .= '<a href="' . get_the_permalink($post->ID) . '">'; $post_item_html .= '</a>'; $post_item_html .= '</div>'; }
2024年7月10日 12:44 PM #96378最初の質問に対する回答ではないのですが…
デフォルトサムネイルのパスを試しに入れてみても、真っ白だったので、
こちらの原因と思われることについて回答いたします。
VK All in One Expansion Unit の デフォルトサムネイル画像 が有効になっていると、
アイキャッチ画像が設定されていない投稿で has_post_thumbnail() が false にならないんです。get_the_post_thumbnail_url() の結果で判断すれば期待通りの結果になると思います。
2024年7月10日 2:37 PM #96389以下の事でしょうか?
global $post; // $html $post_thumbnail_id = get_post_thumbnail_id( $post ); if ( ! $post_thumbnail_id ) { $image_option = get_option( 'veu_defualt_thumbnail' ); $post_thumbnail_id = ! empty( $image_option['default_thumbnail_image'] ) ? $image_option['default_thumbnail_image'] : ''; } $size = 'full'; $url = wp_get_attachment_image_src( $post_thumbnail_id, 'large' ); echo $url[0];
2024年7月10日 4:39 PM #96400
gundam参加者対馬様
ありがとうございます。
そういうことだったんですね。石川様
ありがとうございます。
いただいたコードで思い通りになりました。ありがとうございます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。