unitone v15.9.0 をリリースしました

unitone v15.9.0 の概要

機能追加

  • スタイルライブラリー対応
  • ブロックリンクを JavaScript 実装ではなく a 要素でラップする形に変更するフィルターフック unitone_is_outer_block_link を追加

不具合の修正

  • ボタンブロックの下部に不要な隙間が開く不具合を修正
  • ブロックリンクが右クリックにも反応してしまう不具合を修正

スタイルライブラリー対応

unitone にはにはパターンライブラリーがありますが、今回新しくスタイルライブラリーも追加しました!公式サイトに登録されたブロックスタイルから好きなブロックスタイルを自分のサイトに取り込んで使用できる機能です。

パターンを使えばきれいな「レイアウト」が簡単に実現できますが、細かい「装飾」は難しいので、スタイルライブラリーもあると良いかなと思って開発しました。

使い方については下記のページをご確認ください。

ブロックリンクを JavaScript 実装ではなく a 要素でラップする形に変更するフィルターフック unitone_is_outer_block_link を追加

クエリーブロックのブロックスタイルや、デコレーターブロックにリンクを設定したとき、そのブロッックはブロックリンク(ブロック全体がリンクになる)になります。

このブロックリンクの実装は JavaScript でおこなっているのですが、ブラウザの本来のリンク動作を模倣しているだけで本物のリンク動作をおこなうわけではないので、挙動に微妙な違いがでてしまいます。

「ブロックリンク内のリンク」を生かすために JavaScript での実装をおこなっているのですが、「ブロックリンク内のリンク」が不要な場合は本来のリンク動作を使ったほうがスマートです。

そこで、フィルターフックを使ってお好みの実装を使えるようにしてみました。

/**
 * ブロックリンクの実装を JavaScript 使用から a で囲う形に変更する。
 *
 * @param boolean $bool 変更するかどうか。
 * @param string $block_content ブロックの HTML 文字列。
 * @param array $block ブロックの情報
 * @return boolean
 */
add_filter(
    'unitone_is_outer_block_link',
    function( $bool, $block_content, $block ) {
        return true;
    },
    10,
    3
);

a 要素は HTML の仕様上入れ子にできないので、小要素にあるリンクは全て無効化(aspan に置き換わる)されるようにしています。また、CSS の当たり方も変わるので、その点はご注意ください!

inc2734のアバター

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です