「webで何か」作るブログ

35歳という遅すぎるスタートをなんとかする為のブログです。基本的に自分にとっての役立ちメモ。

ブロックエディタの制限や、知らなくて恥ずかしい思いをした関数など

Kindle Unlimited セールでインプット祭りの4冊目…かな?下記の書籍を読んだ。

www.amazon.co.jp

結果、いくつかの関数について、恥ずかしながら知らなかったことや今後の制作に活かしていきたい知識がいくつかあり、今回はそれを読後録として書いておく。

wp_headでtitleが出力されること

知らなかった。いっつもtitleタグ書いてた。恥ずかしい…。

add_theme_support関連

html5を渡しておけば不要なtype属性を消せること バリデーションでいっつも怒られるやつ。

埋め込みブロックのレスポンシブ対応

add_theme_support('wp-block-style');

add_theme_support('responsive-embeds');

これで、埋め込みブロックはレスポンシブになるようだ。

ブロックのカラーパレットは限定できる

add_theme_support('editor-color-parret',array(
    array(
        'name' => 'エディタで表示される色名',
        'slug' => 'インラインスタイルで利用される色スラッグ',
        'color' => 'カラーコード',

    ),
))

styleやscriptのキャッシュ対策

いつも、CSSとかJSのキャッシュが残ってしまって、時にはスーパーリロードでもダメで困っていた。

filetime関数にファイルへのパスを渡せば、ファイルパスにクエリ文字列としてファイル更新時の時間が追加されるので、キャッシュ対策になるようだ。これは嬉しい。

wp_enqueue_style('ハンドル',(get_stylesheet_uri(),array(),filetime(get_template_directory_uri().'/style.css');

 

wp_enqueue_script( 'my-script', get_theme_file_uri('/js/myscript.js') );

timeタグの属性を正しく出力する関数

get_the_date('W3C')

投稿タイプごとに利用できるブロックを指定できる

これは便利そう。ブロックエディタの自由度の高さが逆につらい部分と僕は考えている。 そういう意味で、テーマ側から制限できるのはありがたい。

function block_control(){
    if($post -> post_type === 'post'){
        return array(
            'core/paragraph',
            'core/image',
        )
    }
}
add_filter('allowed_block_types','独自関数')

編集画面に、指定したブロック並びをつくる

さらに、これは複数のブロックを設置した状態で投稿画面を構成できる。カスタムフィールド製造業としてはありがたい機能。

function post_template(){
    $obj = get_post_type_object('post');
    $obj ->template_lock = 'all';
    $obj -> template = array(
        array(
            'core/heading',
            array(
                'level' => '2',
                'content' => 'h2見出しです',
            ),
        array(
            'core/paragraph',
            array(
                'placeholder' => 'ここには文章を書き込めます。',
            ),
        )
    )
    
}