石川@Vektor,Inc.
フォーラムへの返信
-
投稿者投稿
-
Lightning Pro アップデートいたしました。
よろしくお願いいたします。以下の理由でショートコードを使えるようにする対応は見送らせていただきます。
* セキュリティーホールの温床となりそう
* 該当箇所が多い
* すべてのページで表示されるボタンに対して、詳細ページ専用のパラメーターが付くのは実装方法として王道ではないその上で、URLにパラメーターを自動でつけたい場合は javascript などで実装する事ができます。
is_singular() の場合に JavaScript で、特定の対象セレクタの href に対して、 get_the_title() で取得したパラメーターを付与する
というような処理です。
具体的なコードについては、僕が時間をかけて個別の案件に回答しすぎると全体の開発が全く進まなくて全ユーザーに悪影響になるので、上記参考にトライするか、他の方の回答を待つか、 https://showcase.vektor-inc.co.jp/ 掲載の方に有償で発注などご検討ください。
G3 Pro Unit を 0.20.0 にバージョンアップした上で、
下記の子テーマの functions.php などに貼り付けるか…add_filter( 'header_top_tel_icon', function( $header_top_tel_icon ) { $options = get_option( 'lightning_header_top_options' ); if ( ! empty( $options['header_top_tel_icon'] ) ) { $header_top_tel_icon = $options['header_top_tel_icon']; } return $header_top_tel_icon; } ); add_filter( 'header_top_contact_icon', function( $header_top_contact_icon ) { $options = get_option( 'lightning_header_top_options' ); if ( ! empty( $options['header_top_contact_icon'] ) ) { $header_top_contact_icon = $options['header_top_contact_icon']; } return $header_top_contact_icon; } );
プラグインとして扱いたい場合は
1. 下記を lightning-g3-pro-unit-allow-header-top-image.php みたいな名前で保存
2. lightning-g3-pro-unit-allow-header-top-image 似たいなフォルダを作って1のファイルを入れる
3. zip に圧縮して管理画面からインストールするか、サーバーに直接アップロードして有効化でいけると思います。
<?php /** * Plugin Name: Lightning G3 Pro Unit allow Header Top icon image * Description: アイコンフォントの入力欄で img タグを利用できるようにします * Version: 0.0.0 * License: GNU General Public License v2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.html */ add_filter( 'header_top_tel_icon', function( $header_top_tel_icon ) { $options = get_option( 'lightning_header_top_options' ); if ( ! empty( $options['header_top_tel_icon'] ) ) { $header_top_tel_icon = $options['header_top_tel_icon']; } return $header_top_tel_icon; } ); add_filter( 'header_top_contact_icon', function( $header_top_contact_icon ) { $options = get_option( 'lightning_header_top_options' ); if ( ! empty( $options['header_top_contact_icon'] ) ) { $header_top_contact_icon = $options['header_top_contact_icon']; } return $header_top_contact_icon; } );
■ 原因
アイコンフォントを指定する入力欄に入力する内容は、
初期の頃は Font Awesome のクラス名のみを入力する方式だったが、
後に Font Awesome 5 の時にクラス名のルール変更や、の Font Awesome のサイト自体が i タグ全体をコピーする前提のUIのため、それに対応するため、アイコンフォント登録フォームを新規実装した箇所では i タグ全体を入力する方式で実装に変更→ 入力場所によってクラス名だけ入力するケースと i タグ全体を入力するケースがあったり、Font Awesome のバージョンが古い場合はクラス名だけ入力、 Font Awesome 5 以降の場合は i タグ全体で入力などバラバラになってユーザーが混乱する状態になった
→ ユーザーがどちらの形式でアイコンフォントを指定(入力)してあっても適切な i タグに変換して出力するように Font Awesome 制御用の独自ライブラリを使用して出力するように、 G3 Pro Unit の仕様変更
→ Font Awesome のアイコンフォントを出力するためのライブラリなので、iタグしか出力しないのが仕様として正しい
→ img タグは表示されなくなる。
—
■ 従来通り標準で入力欄に img タグも使えるように Font Awesome 出力用のライブラリを仕様変更できないか?
→ 「Font Awesome を適切に扱うためのライブラリ」なので、img タグを使えるように変更するのは間違っている
■ そのほかの対策
G3 Pro Unit の「ヘッダートップの電話アイコン」と「ヘッダートップの問い合わせアイコン」 に改変用のフィルターフックを追加して、管理画面で入力された内容をそのフィルターを通してそのまま出力するように改変用プラグインを用意するのでそれを各サイトに適用して運用いただくというのが一番妥当ではないかと思います。
ただし、この方法は改変する場所を決め打ちで変更するので、上記2箇所以外に、後からここもあそこもとなると手間なので、本当にその2箇所で良いか確認願います。i タグではなく img タグを入れて使っていたということでしょうか?
ご報告ありがとうございます。
うる覚えですが今回の 6.0 ではなくもっと前のWordPressのアップデートでの仕様変更だったように記憶しています。https://github.com/vektor-inc/vk-all-in-one-expansion-unit/issues/335
過去に issue には上がっていましたが、優先順位が高くないという判断で保留になっている状態です。
今後の検討課題とさせていただきますが、他の優先事項が多いため対応時期は未定です。
オープンソースですので、よろしければプルリクエストご検討いただけますと幸いです。現状 Tree Shaking の処理の不具合で
* Tree shaking をオンにしつつ、設定 > VK Blocks で 分割読み込み がオフ
* 本文中で 見出しスタイルで装飾なし を選択という条件下で発生することが判明しました。
修正まで数日かかる見込みですので、恐れ入りますがそれまで Tree Shaking をオフにするか、
Tree Shaking はオンのまま、 設定 > VK Blocks で 分割読み込み設定 で、分割読み込みを有効にして運用ください。恐れ入りますがよろしくお願いいたします。
アクションフックではなくフィルターフックなので、変数に入っている中身を書き換えて返すだけが正しい処理です。
途中で echo すると意図しない場所にいきなり表示されるので、処理内で echo を使ってはいけません。
$append_html の中に格納して、return で返してください。おまたせいたしました。
G3 Pro Unit 0.19.11 にて修正いたしましたのでアップデートの上ご確認くださいませ。お手数おかけして恐れ入りますがよろしくお願いいたします。
恐れ入りますが現状の機能として実装されていません。
また、残念ながら構造上カスタマイズでの対応も難しいです。100%不可能ではないのですが、汎用プラグインとして実装するにはかなり複雑なプログラムになって開発工数・メンテナンス工数が肥大化する割にユーザー要望が多くはないと想定しており、残念ながら実装予定がないという状態です。
JavaScriptの書けるエンジニアなら独自の追加カスタマイズは可能だと思いますが、どの項目にチェックするのかを決め打ちでプログラムに書き込む手法になると思うので、ではどんな項目があってどれをデフォルトでチェックしますかという受託案件のやりとりになってしまうので、フォーラムでのやりとりでは難しいと思います。
また、発注したとしても金額としてもあまり現実的ではなく、検索フォーム自体を独自実装で作った方が早いのではという感覚です。ご要望にお答えすることができず恐れ入りますが、
どれくらいハードルが高そうなのかという感覚をお伝えするためにあえて記載させていただきました。逆にこのフォーラムをご覧の方でもし「いや、簡単にいけますよ」という方がいましたらお手伝いいただけると幸いです。
アクションフックについては下記に記載していますので、
これを見ると何をしているのか理解できると思います。おそらく
$append_html .= $post->report_img1;
か
$append_html .= the_field( ‘report_img1’ );
のどちらかを使う感じじゃないですかね?
$post->カスタムフィールド名 は、WordPress標準で使える呼び出し方なので、この時点で値が返ってきます。
the_field() は ACF 固有の関数で the_field( ‘フィールド名’ ); のように使うので $post-> は不要です。
Lightning 14.22.1 で iframe が使えるように変更いたしました。
子テーマのfunctions.phpなどに下記のように書けば表示されると思います。add_filter( 'vk_post_options', function ( $options, $post ) { // 表示したい投稿タイプを条件分岐で指定. if ( 'post' === get_post_type() ) { /************************************ * カスタムフィールドの値など独自に表示したい要素を一旦 $insert_html に格納する. */ $body_append_html = '<iframe width="560" height="315" src="https://www.youtube.com/embed/kQyF4FeSdP0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'; /************************************ * 投稿1件分の 最後に追加 * (最初に追加する場合は body_append の部分を body_prepend に変更 ). */ $options['body_append'] .= $body_append_html; } return $options; }, 10, 2 );
大変おまたせいたしました。
VK Block Patterns 1.18.0 にアップデートの上ご確認くださいませ。すみません、勘違いしていました。
投稿部分 add_action でなく、add_filter なのでもしかしたら、
フィルターフックで iframe が許可されていなくて地図表示が出来ないかもしれません。確認してまた返信いたします。
-
投稿者投稿