1. ホーム
  2. フォーラム
  3. 要望
  4. Snow Monkey Blocks ウィジェットに「SnowMonkey:最近の投稿」が欲しい

Snow Monkey Blocks ウィジェットに「SnowMonkey:最近の投稿」が欲しい

このトピックには9件の返信が含まれ、2人の参加者がいます。7 ヶ月前 Mio Urakami さんが最後の更新を行いました。

10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #8977

    Mio Urakami
    参加者

    固定ページをSnow Monkey Blocksを使ってデザインする場合に「SnowMonkey:最近の投稿」があるととても便利だなあ、と思っています。
    表示する項目を、postだけでなく任意のカスタムタクソノミーにできるともっと……(これはfunction.phpで対応してもよいですが)

    ちなみに、先ほど公開したサイトで、納入事例をカスタムタクソノミーで作って、その一覧を固定ページに表示させたいと思っていますが、現段階では項目ブロックをつかって、手動で画像、タイトルを入力してリンクを貼るしかないのですよね…
    テンプレートをゴリゴリカスタマイズすればできるにはできますが、ウィジェットでできたらもっと楽できるなあ、と^^;

    ↓こんなページです

    ご検討くださいませ^^

    (上記サイト、まだ一部デザインなど含め作り途中なので、完成したらショーケースに申請しますね^^)

    #8986

    キタジマ タカシ
    キーマスター

    すでにありますよ!最近の投稿ブロック。フック snow_monkey_recent_posts_widget_args も使えます。ただ、ウィジェットのウィジェットIDみたいに識別子を固定する方法がわからないので、snow_monkey_recent_posts_widget_args_ウィジェットID フックは使えません。

    上記サイト、まだ一部デザインなど含め作り途中なので、完成したらショーケースに申請しますね^^

    おー!楽しみです!

    #9039

    Mio Urakami
    参加者

    最近の投稿ブロック、シンプルなテキストリンクだけかと思っていたんですが、アイキャッチ画像ありもできたんですね!失礼しましたm(_ _)m

    「snow_monkey_recent_posts_widget_args_ウィジェットID」が使えないということは……
     内容を任意のカスタム投稿にするには
    function.phpでadd_filterにis_page()とかで適用条件を設定すればできそうですね!
    そして1ページに2個、違う投稿タイプのウィジェットを入れるのはできない、ということになりますかね。

    まずは、ちょっと試してみますね!

    #9074

    キタジマ タカシ
    キーマスター

    「snow_monkey_recent_posts_widget_args_ウィジェットID」が使えないということは……
     内容を任意のカスタム投稿にするには
    function.phpでadd_filterにis_page()とかで適用条件を設定すればできそうですね!
    そして1ページに2個、違う投稿タイプのウィジェットを入れるのはできない、ということになりますかね

    まさにそのとおりです!
    ブロックにも固有の ID があれば良いのですがちょっとその辺の仕組みがよくわかっておらず…。将来的に解決できそうであれば解決しようとは思っています。

    #9120

    Mio Urakami
    参加者

    すみません…ちょっとうまくいかないのですが、ご相談させてください。
    以下のようにしてみたのですが、表示がデフォルトのままで切り替わらず…
    何かおかしいところがあるでしょうか?

    add_filter( 'snow_monkey_recent_posts_widget_args', function( $query_args ) {
    global $post;
    if(is_page( 1781 )){
    $query_args['post_type'] = 'showcase';
    return $query_args;
    }
    } );
    #9135

    キタジマ タカシ
    キーマスター

    確認します!

    #9136

    キタジマ タカシ
    キーマスター

    本質とはそれますが、 return の位置が間違っていたのでちょっと整形しました。

    add_filter(
    	'snow_monkey_recent_posts_widget_args',
    	function( $query_args ) {
    		if ( is_page( 1781 ) ) {
    			$query_args['post_type'] = 'showcase';
    		}
    		return $query_args;
    	}
    );

    表示がデフォルトのままで切り替わらず…
    何かおかしいところがあるでしょうか?

    こちらの環境ではちゃんと反映されました。まずコードが実行されているのかを確かめたいので、下記のような感じで、var_dump() を挟んでみてコードが実行されているのか確認してみてください。

    add_filter(
    	'snow_monkey_recent_posts_widget_args',
    	function( $query_args ) {
    		var_dump( $query_args );
    		if ( is_page( 1781 ) ) {
    			$query_args['post_type'] = 'showcase';
    			var_dump( $query_args );
    		}
    		return $query_args;
    	}
    );
    #9163

    Mio Urakami
    参加者

    ありがとうございます!

    var_dump()を挟んでみたのですが(添付いただいたコードをそのままいれてみた)
    ページに何も変化が起こらないです。
    ということは、コードが実行されていない、ということでしょうか?

    子テーマのfunction.phpの、記述する場所も変えてやってみましたが
    結果は変わらずでした。

    #9181

    キタジマ タカシ
    キーマスター

    うぐぐ、なんででしょうね。

    Snow Monkey、Snow Monkey Blocks が最新版でないなら最新版にすると良いかもです。あとはなんでしょうね、子テーマの functions.php に書いてあるなら実行されるはずですが、貼り付けたコードの上部で return しちゃってて実行されないとか…うーん、でもそういう可能性はかなり低い気がしますが、一度 functions.php のコードを全部消してみて、今回のコードだけ貼り付けてみるとかですかね。

    #9189

    Mio Urakami
    参加者

    お忙しいところありがとうございます。wordpressもテーマもプラグインもどれも最新版なので、怪しいのはfunction.phpに書いてある他のコードですね…「functions.php のコードを全部消してみて、今回のコードだけ貼り付けてみる」を今度やってみます。またご報告しますね。

10件の投稿を表示中 - 1 - 10件目 (全10件中)

このトピックに返信するにはログインが必要です。