Snow Monkey Blocks 最近の投稿の表示カスタマイズについて

0
いいねをした人: 居ません
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #22809
    池村 直美
    閲覧者
    0

    トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。

    【お使いの Snow Monkey のバージョン】7.2.0
    【お使いのブラウザ】chrome
    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)

    ===

    いつもお世話になっております。

    Snow Monkey Blocksを利用させていただいております。
    「最近の投稿」の各記事へのリンクを続きを読むボタン(もしくはテキスト)を設置して
    そこからリンクさせたいのですがどのファイルを修正すれば良いかわかりませんでした。

    また、表示されている文章の文字数も変更したいのですが、
    「最近の投稿」のカスタマイズは可能でしょうか?

    お忙しい中恐れ入りますが、
    お時間ありますときにアドバイス頂けますと幸いです。
    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #22828
    キタジマ タカシ
    参加者
    2253

    ちょっと状況によって最適解が変わりそうな気がするので、いくつか質問させてください。

    1. 「最近の投稿」ブロックは1つのみの設置でしょうか?
    2. 最近の投稿のレイアウトは「リッチメディア」でしょうか?
    3. 「続きを読むボタン(もしくはテキスト)」を設置したいとのことですが、リンクはそのボタン(テキスト)部分だけを希望でしょうか?(デフォルトでは画像とテキスト全体がリンクになっています)。

    0
    いいねをした人: 居ません
    #23035
    池村 直美
    閲覧者
    0

    お世話になっております。
    ご返信ありがとうございます。

    1. 「最近の投稿」ブロックは1つのみの設置でしょうか?
    ⇒はい、Snow Monkey Blocksでの設置は1ページに1つの予定です。

    2. 最近の投稿のレイアウトは「リッチメディア」でしょうか?
    ⇒はい、リッチメディアにしております。

    3. 「続きを読むボタン(もしくはテキスト)」を設置したいとのことですが、リンクはそのボタン(テキスト)部分だけを希望でしょうか?(デフォルトでは画像とテキスト全体がリンクになっています)。
    ⇒自分の当初の予定では、画像、タイトル、ボタンそれぞれにリンクをしようと思っていたのですが、BOX全体がリンクになっていてもよいと思っています。

    お忙しいところ恐れ入ります。
    お時間がありますときにご確認頂けますと幸いです。

    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #23063
    キタジマ タカシ
    参加者
    2253

    こんな感じでどうでしょう?
    下記のコードを My Snow Monkey プラグインか、子テーマの functions.php に追加してみてください。

    /**
     * 最近の投稿ブロックの抜粋の後ろにボタンを追加する
     */
    add_filter(
    	'inc2734_wp_awesome_widgets_render_widget',
    	function( $widget, $args, $instance ) {
    		// ウィジェットからの呼び出しの場合は何もしない
    		if ( ! empty( $args['name'] ) ) {
    			return $widget;
    		}
    
    		// 最近の投稿ブロック以外の場合は何もしない
    		if ( 0 !== strpos( $args['widget_id'], 'snow_monkey_blocks_recent_posts-' ) ) {
    			return $widget;
    		}
    
    		// レイアウトがリッチメディア以外の場合は何もしない
    		if ( 'rich-media' !== $instance['layout'] ) {
    			return $widget;
    		}
    
    		$widget = preg_replace(
    			'|(<div class="c-entry-summary__content">)(.+?)(<\/div>)|ms',
    			'$1$2<div class="u-text-center" style="margin-top: .5em"><span class="c-btn">もっと詳しく</span></div>$3',
    			$widget
    		);
    
    		return $widget;
    	},
    	10,
    	3
    );
    
    /**
     * リッチメディアの抜粋表示の文字数を変更
     * ※「最近の投稿ブロック」だけでなく、記事一覧などでリッチメディアを使っている場合にはそこにも反映されてしまうので注意
     */
    add_filter(
    	'snow_monkey_get_template_part_args',
    	function( $args ) {
    		// 抜粋表示以外のテンプレート呼び出しの場合は何もしない
    		if ( 'template-parts/loop/entry-summary/content/content' !== $args['slug'] ) {
    			return $args;
    		}
    
    		// レイアウトがリッチメディア以外の場合は何もしない
    		if ( ! isset( $args['vars']['_entries_layout'] ) || 'rich-media' !== $args['vars']['_entries_layout'] ) {
    			return $args;
    		}
    
    		$args['vars']['_excerpt_length'] = 1000; // ここの数値を適当な数値に変更する
    
    		return $args;
    	}
    );

    抜粋の長さの変更については、「最近の投稿ブロックの抜粋にだけ適用する」という方法がちょっとうまく思いつきませんでした、すみません。すべてのリッチディアの表示に適用されてしまうため注意してください。

    0
    いいねをした人: 居ません
    #23142
    池村 直美
    閲覧者
    0

    お世話になっております。
    ご丁寧にありがとうございます。

    ボタンのほうは問題なく表示されたのですが、
    残念ながら文字数の方はうまく変更することができませんでした。

    文字数の方は従来通りの表示で運用したいと思います!

    親身になって考えていただきましてありがとうございました。

    0
    いいねをした人: 居ません
    #23144
    キタジマ タカシ
    参加者
    2253

    残念ながら文字数の方はうまく変更することができませんでした。

    使用されているプラグインや子テーマで excerpt_length フックを使っていたり、あるいは本文からの自動抜粋ではなくて「抜粋」欄に入力されているとかでも違いがあるので、そういうのが影響しているのかもしれません。

    トピック閉じます!

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

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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