フォーラムへの返信
-
投稿者投稿
-
enomotoキーマスター
wordpressの標準機能として投稿記事に挿入した画像やギャラリーに、その画像をクリックしたときのリンク先を設定することができます
下記の記事中でもちょっと紹介しています
WordPress ギャラリーを印象的に見せるレスポンシブスライダー(複数設置対応)プラグイン
WordPress のギャラリーにスライダー機能を追加するプラグインです。標準ギャラリーと同じ使い方で、ギャラリーを簡単にスライダー表示にし、スライダーをページ内に複数設置することも出来ます。AMPにも対応しています (^^)セルティスラボしたがって、リンク先が添付ファイルのページとなっていると画像だけのページができることになります
ちなみに Celtis_s テーマは添付ページで画像やギャラリーを見やすく表示することが特徴にもなっています (^^)
リンク先をなしにすれば画像だけのページは表示されなくなりますが、サイトを訪れたひとはより大きな画像を見たいという場合もあるので、なしにしてしまうのはちょっともったいない気がします
ちなみに、添付ファイルのページ(アタッチメント)でウィジェットを表示させたくない等の条件を設定した場合には、私の作成した次のプラグインを利用することもできます
WordPress Plugin : Widget Display Filter
WordPress でウィジェットの表示を様々な条件で表示管理するプラグインは沢山ありますが、使いにくかったり、管理しにくかったりということはありませんか? ウィジェットの条件表示を簡単に行い、管理できるプラグインを作ってみました。ウィジェットにクラスを追加することも出来ます (^^)セルティスラボこれを使って添付ページでは広告ウィジェットを表示しないというのも一つの方法です
enomotoキーマスター画像ファイルを取得したところまでは出来ているようなので、そのあとの処理に問題がありそうです
thumb-optimize.php 986行目
$imgedit = wp_get_image_editor( $fname );
ここで取得した画像を読み込んでサイズを取得するのですが、gd か imagick の画像ライブラリが必要となっています。多くの場合は gd が使えるようになっていると思いますが、一応確認してみて下さい
その後の 995 行目で
$cp_transient->set_cache( $opname, $value, $cache_age);
データベース内に作成した wp_celtis_transient テーブルに画像の URL やサイズのデータを保存しています
phpmyadmin 等を使ってテーブルにデータが保存されているか確認してみて下さい
enomotoキーマスター情報ありがとうございます
通常では src に http://サイト名/wp-content/uploads/celtispack/thumbnail/xxx-full.jpg という形でセットされてくるはずなのですが、何らかのプラグインやテーマの機能でサイト名を除いた URL が保存されているのだと思われます
おそらくどこかでURLにサイト名をつけるという処理も行われていると思うのですが、そこから漏れてしまっているのかなと思われます
対策としては、dmorita さんのコードでも問題ないと思われますが、これだと get_the_post_thumbnail 関数を呼び出しているところで同様の対応が必要となる場合があります
従いまして、もう少し元の処理で対策したほうが都合がよさそうです
具体的には、Wordpress の post-thumbnail-template.php にある apply_filters( ‘post_thumbnail_html’, $html, $post->ID, $post_thumbnail_id, $size, $attr ) というフィルターにフックして、サイト名がなければサイト名を追加するような感じがいいのかなと思います
また、このようにすれば、サイトを SSL 化するような場合に http から https への書き換えもできるのでより汎用的な対応が出来ると思います
ちなみに、実際に動作確認したわけではありません (^_^;)
いづれにせよ、次回のバージョンアップ(時期は未定です)で対策したいと思います
enomotoキーマスターInstagramのほうは、拡張アイキャッチ設定出来たようでよかったです
Twitterのほうは、ツイートの中身次第です
ちょっと技術的な話となってしまいますが、この拡張アイキャッチは oEmbed という仕組みを使って実現しています
そこで、oEmbed により取得したデータ内にサムネイル画像のリンクが含まれていればその画像のキャッシュを生成して拡張アイキャッチとして登録しています
ところが、Twitter の場合は oEmbed で取得したデータにサムネイル画像のデータは含まれていません
そこで、ツイート内にリンクがあれば(ほとんどの場合は元記事となります)そのリンクページにアクセスしてOGPデータが登録されているかを調べています
OGPでアイキャッチが登録されていれば、その画像のキャッシュを生成して拡張アイキャッチとして登録しています
従って、Twitterからはアイキャッチを取得出来ない場合も多いということです
サンプルとして教えていただいたツイートに含まれるリンク先のページにはOGPの画像データが含まれていなかったということです
enomotoキーマスター記事内に Instagramを埋め込むことは出来るけど、拡張アイキャッチに登録できないということですか
実際に手元の環境で確認したいので、いくつか確認させてください
- Twenty Seventeen 等の公式テーマでも同じでしょうか
- Celtispack や使用しているPHPのバージョンは
- Twitter や youtube 等ではとりあえず拡張アイキャッチに登録できてますか
- うまくいかない Instagram の URL を教えてください
よろしくお願いします
enomotoキーマスターCeltis_s テーマでは、トップページでは抜粋文を表示したカード状の一覧表示を行うように作りこまれていますので、残念ながらトップページでの全文表示はサポートしていません
トップページでの全文表示を重視しているなら、公式テーマの Twentyxxxxx シリーズ等のテーマを試してみることをお勧めします
enomotoキーマスターCeltis_s テーマを試していただきありがとうございます
さて、レイアウトが崩れているとのことですが、これは WordPress の初期状態でいくつかのウィジェットが登録されてしまっているのでそう見えているだけです
管理画面の外観→ウィジェットのページを開き、ホームウィジェットエリアに登録されているウィジェットをメインサイドバーエリアへ移動させればOKです
ちなみにホームウィジェットエリアはホームページ(トップページ)専用のヘッダー下に画像やギャラリー等を設置することを想定したエリアなので、特に使用予定がなければウィジェットを登録しなくても問題ありません
enomotoキーマスターうまくいったようでよかったです
Simplicity テーマとの機能競合も起きずに表示できたというのも貴重な情報ですので、ご報告ありがとうございました。
enomotoキーマスターWelcome 初めてのフォーラムメンバーの方です。今後ともよろしく (^^)
登録等スムーズにできましたでしょうか? このフォーラムは自作の bbpress utility pack プラグインの動作確認もかねていたりします。何か気づいたことがあればご報告してくださると助かります
さて、このトピックで有効になっているのは Celtispack プラグインのブログカードですので、これは仕組み的には oEmbed と同等の仕組みで実現しています
従って、bbPress の設定の自動埋め込みリンク(メディア (YouTube / Twitter / Flickr など) をトピックや返信に直接埋め込む)を有効化する必要があります
Celtispack 側では oEmbed extended を有効にして Celtispack OGP ブログカード形式を指定すればOKです
但し、埋め込むURLページにOGPが設定されている必要がありますので、OGPがないと通常のリンクとして埋め込みます
また、運営サイトのほうをちょっと見させていただいたところ Simplicity テーマをカスタマイズされているようなので、確か Simplicity には独自のブログカード機能が実装されていたので、もしかしたら何かしら競合してしまっている恐れもあります
-
投稿者投稿