投稿一覧から個別投稿ページへのリンクを無くしたい

0
いいねをした人: 居ません
14件の投稿を表示中 - 1 - 14件目 (全14件中)
  • 投稿者
    投稿
  • #33818
    Sayoko Miura
    参加者
    6

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

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

    ===

    お世話になっております。

    投稿一覧から個別投稿ページへのリンクを無くしたいのですが、方法を教えていただけるとありがたいです。

    投稿が2種類あるのですが(通常の投稿とカスタム投稿)、特にカスタム投稿一覧からのリンクを外して、一覧ページだけにしたいのです。

    SnoeMonkey関連かわからず迷ったのですが、こちらに相談させていただきました。
    すみません!よろしくお願いいたします。

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

    念のため確認させてください。

    「投稿一覧」というのは、例えば「カスタム投稿タイプ news のカスタム投稿アーカイブページ」のようなことであっていますか?

    また、「個別投稿ページへのリンクを無くしたい」というのは、例えばリッチメディア形式の項目がばーっと並んでいて、通常はクリックしたらそのページに移動するところを、クリックできないようにしたい(記事に移動させたくない)ということであっていますか?

    0
    いいねをした人: 居ません
    #33969
    Sayoko Miura
    参加者
    6

    分かりにくい表現ですみません!

    まさに、キタジマさんがおっしゃる通りです!!

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

    了解です!

    一応方法としては2つ考えられます。

    template-parts/loop/entry-summary-news.php をつくる
    – フックでリンクを消す(デザイン > news アーカイブページ設定 > ビューテンプレートが「デフォルト」である必要あり)

    1つめの方法のほうが自由がききますが、2のほうが貼り付けるだけでさくっとやれるので、とりあえず2つめの方法を共有しますね。下記のコードを My Snow Monkey プラグイン、もしくは子テーマの functions.php に貼り付けてみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) {
    			$html = preg_replace( '|<a [^>]+?>|ms', '', $html );
    			$html = str_replace( '|</a>', '', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #34000
    Sayoko Miura
    参加者
    6

    ありがとうございます!
    しかし、私のやり方が悪いのか何も変わらないのです。

    キタジマさんが書いてくださったコードは、 ‘news’ をCPT UIで設定した  ‘「投稿タイプスラッグ」名’  で置き換えています。

    ちなみに、(デザイン > news アーカイブページ設定 > ビューテンプレートは「デフォルト」です)

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

    うーん、なんでだろう…。僕も CPT UI でスラッグ news でつくっています。

    上のコードの

    if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) {
    

    のところを、

    var_dump( $slug );
    var_dump( $news );
    if ( 'template-parts/loop/entry-summary' === $slug && 'news' === $name ) {

    と足してみて、一覧の各項目のところにどのような文字列が出力されるか確認してみてもらえますか?

    0
    いいねをした人: 居ません
    #34278
    Sayoko Miura
    参加者
    6

    教えていただいた
    var_dump( $slug );
    var_dump( $news );
    を入れてみると、
    「NULL string」を大量に含んだ長文が出力されました。

    返信が遅くなってしまいましたので、ひとまずのご報告です。
    私のやり方が悪いのかもしれないので、もう少しいろいろやってみます。
    お手数をおかけしてすみません!

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

    がーすみません!間違えました、$news じゃなくて $name でした。

    var_dump( $slug );
    var_dump( $name );

    全てのテンプレートの読み込み箇所に出力されるので大量にはでます。一覧部分で template-parts/loop/entry-summarynews と本来でてほしいところが多分でないようになっているはずなので、なんとでるかを確認したいです!

    0
    いいねをした人: 居ません
    #34280
    Sayoko Miura
    参加者
    6

    $nameに変えてやってみました。
    1つの記事分が以下の通りです。
    この記事は、タイトルのみで記事内容はありません。

    string(33) “template-parts/loop/entry-summary” string(4) “post”
    string(47) “template-parts/loop/entry-summary/figure/figure” string(4) “post”
    string(45) “template-parts/loop/entry-summary/title/title” string(4) “post”
    小学生東西対抗戦(2019/1/5,6)
    string(49) “template-parts/loop/entry-summary/content/content” string(4) “post” string(43) “template-parts/loop/entry-summary/meta/meta” string(4) “post”
    2019年1月8日

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

    ありがとうございます!

    デザイン > news アーカイブページ設定 > ビューテンプレートが「デフォルト」の場合は $namenews が入ってくるはずなのですが、post になってますね。なんでだ…。

    念のため、もう一度「デザイン > news アーカイブページ設定 > ビューテンプレート」の設定を確認してみてもらえないでしょうか?やっぱり「デフォルト」になっているようでしたら、ちょっと別の方法を考えてみます。

    0
    いいねをした人: 居ません
    #34287
    Sayoko Miura
    参加者
    6

    すみません!!!!

    「投稿のビューテンプレート」になっていたので、「デフォルト」に変えてやってみた結果です!
    tournament_all が投稿タイプスラッグです。
    (ローカル環境とサーバー環境で設定が違っていました;;)
    しかし、リンクはかかったままです。

    string(33) “template-parts/loop/entry-summary” string(14) “tournament_all”
    string(47) “template-parts/loop/entry-summary/figure/figure” string(14) “tournament_all”
    string(45) “template-parts/loop/entry-summary/title/title” string(14) “tournament_all”
    小学生東西対抗戦(2019/1/5,6)
    string(49) “template-parts/loop/entry-summary/content/content” string(14) “tournament_all” string(43) “template-parts/loop/entry-summary/meta/meta” string(14) “tournament_all”
    2019年1月8日

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

    おー!良かったです!では僕が news としていたところを tournament_all に変更してみてください。こうかな。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'tournament_all' === $name ) {
    			$html = preg_replace( '|<a [^>]+?>|ms', '', $html );
    			$html = str_replace( '|</a>', '', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #34289
    Sayoko Miura
    参加者
    6

    再度、すみません!!!

    なんと、できました!
    いろいろやっているうちに、触りすぎたのかもしれません。

    本当に、ありがとうございました!!!

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

    解決できて良かったです! 今回はフックで書き換えましたが、もっと独自の HTML にしたい場合はテンプレートをつくるほうが良いので、そういう場面が来たらまたトピックたててください。閉じます!

    0
    いいねをした人: 居ません
14件の投稿を表示中 - 1 - 14件目 (全14件中)
  • トピック「投稿一覧から個別投稿ページへのリンクを無くしたい」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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