Snow Monkey Blocks の カテゴリー一覧 をカスタマイズしたい

0
いいねをした人: 居ません
  • このトピックには2件の返信、2人の参加者があり、最後にアバター画像nishiakiにより23時間、 47分前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #143062
    アバター画像nishiaki
    参加者
    0

    【お使いの Snow Monkey のバージョン】
    27.4.0
    【お使いの Snow Monkey Blocks のバージョン】
    22.2.5
    【お使いの Snow Monkey Editor のバージョン】
    10.0.6
    【お使いのブラウザ】
    【当該サイトのURL】

    そもそも Snow Monkey Blocks をここでしていいのでしょうか?

    ### 実現したいこと
    下記をmy snow monkey でコントロールしたい

    カテゴリー一覧 のブロック ブロック設定の表示件数を増やしたり、全件表示にしたり
    最近の投稿 の 並び順をコントロールしたりしたい

    どのようなアプローチをすればいいのか?
    そもそも可能なのか?
    よくわかってないので何かヒントあればお願いします。

    ### 発生している問題

    ### 試したこと

    0
    いいねをした人: 居ません
    #143065
    アバター画像キタジマ タカシ
    参加者
    2426

    そもそも Snow Monkey Blocks をここでしていいのでしょうか?

    はい、全然大丈夫です!

    カテゴリー一覧 のブロック ブロック設定の表示件数を増やしたり、全件表示にしたり
    最近の投稿 の 並び順をコントロールしたりしたい

    カテゴリー一覧ブロックはフックが無いので、カスタマイズはブロックの設定パネルでできるものだけになりますね…。表示側はフックを追加しても良いかもですが、エディター側のレンダリングが現状 js になっていてそこも PHP でのレンダリングに変える等の作業が必要になるので、ぱっと追加するのは難しい感じです…。

    snow-monkey-blocks/src/blocks/categories-list/view.php がフロント側の表示の実体なので、これをベースにコピペしてショートコードをつくったりするのが簡単かもです。

    1
    いいねをした人:
    #143075
    アバター画像nishiaki
    参加者
    0

    レスありがとうございます。

     

    カテゴリー一覧ブロックはフックが無いので、カスタマイズはブロックの設定パネルでできるものだけになりますね…。

     

    やはりそうですよね。

    ってな訳でショートコード作ったんで
    同じこと考える人が検索でここ見るかもなのでそのショートコード貼っておきます。

    // カテゴリー一覧 ショートコード
    
    function return_cat_view()
    {
        // HTMLを格納する変数
        $html = '';
    
        // 全てのカテゴリーを取得
        $categories = get_categories();
    
        if ( ! empty($categories)) {
            foreach ($categories as $category) {
                // カテゴリーのリンク付きタイトルと投稿件数
                $html .= '<div class="category-block">';
                $html .= '<h2><a href="'.get_category_link($category->term_id).'">'.esc_html($category->name).' ('.$category->count.')</a></h2>';
    
                // カテゴリーに属する投稿を取得
                $args  = array(
                    'category'       => $category->term_id,
                    'post_type'      => 'post',
                    // 以下は投稿数や並び順を調整して
                    'posts_per_page' => -1, // 全ての投稿を取得
                    'orderby'        => 'date', // 投稿日で並び替え
                    'order'          => 'ASC', // 昇順
                );
                $posts = get_posts($args);
    
                if ( ! empty($posts)) {
                    // 投稿のリスト開始
                    $html .= '<ul class="category-post-list">';
    
                    foreach ($posts as $post) {
                        // 投稿リンクをリストアイテムとして追加
                        $html .= '<li><a href="'.get_permalink($post->ID).'">'.esc_html($post->post_title).'</a></li>';
                    }
    
                    // 投稿のリスト終了
                    $html .= '</ul>';
                }
                $html .= '</div>'; // divの閉じタグ
            }
        }
    
        // HTMLを返す
        return $html;
    }
    
    // ショートコードを追加
    add_shortcode('short_code_return_cat_view', 'return_cat_view');

    ショートコードのブロックで
    [short_code_return_cat_view]
    で動くと思います

    0
    いいねをした人: 居ません
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • トピック「Snow Monkey Blocks の カテゴリー一覧 をカスタマイズしたい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。