こんにちは。私のすべてのWordpress 5.4サイトの投稿(記事))について、サイト全体のパンくずリストにYoast SEOプラグインを使用しています。
私のすべての投稿(記事)について、私はちょうど欲しい:
ホーム> CategoryLink>投稿のトピックではなくブレッドクラムとして。
そこで、テーマのfunctions.phpで次のコードを試しました。
add_filter( ‘wpseo_breadcrumb_links’, ‘wpseo_breadcrumb_remove_postname’ );
function wpseo_breadcrumb_remove_postname($ links){
if(sizeof($ links)> 1){
array_pop($ links); }
$ linksを返します。
}
ただし、上記のハックでは、前のリンク(親リンク)も削除され、リンクではなくテキストのみが公開されます。
したがって、次のようなリンクがある場合:
ホーム> CategoryUrl>投稿のタイトル
Functions.phpにパッチを適用すると、次のようになります。
ホーム> CategoryText
したがって、カテゴリ名はリンクではなくテキストになります。したがって、このハックの後はブレッドクラムは役に立ちません。
Yoastを使用してパンくずリストに投稿のタイトルを表示しない正しい方法はありますか?ありがとう!
function remove_breadcrumb_title( $link_output) {
if(strpos( $link_output, 'breadcrumb_last' ) !== false ) {
$link_output = '';
}
return $link_output;
} add_filter( 'wpseo_breadcrumb_single_link'、 'remove_breadcrumb_title');
Yoastのウェブサイトに行って、彼らが使用しているパンくずリストを見てみました:
<nav class="row breadcrumb" aria-label="You are here:">
<span>
<span><a href="https://yoast.com/">Home</a> »
<span><a href="https://yoast.com/help/">Help center</a> »
<span><a href="https://yoast.com/help/category/wordpress-plugins/">WordPress plugins</a> »
<span><a href="https://yoast.com/help/category/yoast-seo-woocommerce/">Yoast SEO: WooCommerce</a> »
<span class="breadcrumb_last" aria-current="page">How to implement Yoast SEO breadcrumbs</span>
</span>
</span>
</span>
</span>
</span>
</nav>
最後にネストされた<span>
タグのクラスは.breadcrumb_last
であることがわかります。
以下をstyle.cssに追加できます。
nav.row.breadcrumb .breadcrumb_last{
display:none;
}
aria-current
は依然として支援技術で利用可能であるため、これは実際に推奨される場合があります。
これは、パンくずリストの出力方法が同じHTML形式であることを前提として機能することを付け加えておきます。そのため、まずそれを確認する必要がありますが、そうであれば、これで対処する必要があります。また、Yoastのスタイルシートが後に実行される場合に備えて、CSSルールに!important
を追加する必要がある場合もあります。それなしで試してみて、何が起こるか見てください。