0

良い一日

私は Wordpress を使用しており、ブレッドクラム プラグイン (Breadcrumb NavXT) を使用しています。特定のリンクへのリンク方法をカスタマイズしたい場合を除いて、今ではうまく機能します。

ここにシナリオがあります:

ページがあり、そのページには投稿へのリンクがあります。そのため、ページ上のリンクの 1 つをクリックすると、投稿に移動します。現在、この投稿は Drill Rigs という名前のカテゴリに属しており、Drill Rigs は Products の子カテゴリです。

カテゴリ「製品>ドリルリグ」(親/子)を持つ投稿ページでは、ブレッドクラムは次のように表示されます。

Home>products>drill rigs>postname

問題は、上の製品リンクをクリックすると、製品のカテゴリ ページに移動することです。

siteurl/category/products

製品と呼ばれる実際のWordPressページではありません(上記の投稿にリンクするリンクが含まれています:

siteurl/ページへの絶対リンク。これは一意のリンクです。siteurl/803-2

私の知る限り、ワードプレスでもプラグインでも、カテゴリ (投稿に固有) からページへのパスを変更することはできません。

私が考えることができる最善の方法は、タイトル「製品」をホストするアンカータグを含むコンテナdivを探すカスタムjqueryまたはphpを投稿phpページ(またはインデックス/ヘッダーページ)に追加することです...そしてそれを置き換えますカスタムの一意のページ URL を持つアンカー タグ...

どうすればいいですか...?

4

4 に答える 4

1
function the_breadcrumb() {

$sep = '/';

if (!is_front_page()) {

    echo '<div class="breadcrumbs">';
    echo '<a href="';
    echo get_option('home');
    echo '">';
    bloginfo('name');
    echo '</a>' . $sep;

    if (is_category() || is_single() ){
        the_category('title_li=');
    } elseif (is_archive() || is_single()){
        if ( is_day() ) {
            printf( __( '%s', 'text_domain' ), get_the_date() );
        } elseif ( is_month() ) {
            printf( __( '%s', 'text_domain' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'text_domain' ) ) );
        } elseif ( is_year() ) {
            printf( __( '%s', 'text_domain' ), get_the_date( _x( 'Y', 'yearly archives date format', 'text_domain' ) ) );
        } else {
            _e( 'Blog Archives', 'text_domain' );
        }
    }

    if (is_single()) {
        echo $sep;
        the_title();
    }

    if (is_page()) {
        echo the_title();
    }

    if (is_home()){
        global $post;
        $page_for_posts_id = get_option('page_for_posts');
        if ( $page_for_posts_id ) { 
            $post = get_page($page_for_posts_id);
            setup_postdata($post);
            the_title();
            rewind_posts();
        }
    }

    echo '</div>';
}

}

これを試してくださいこれがあなたに役立つことを願っています

于 2013-03-15T12:39:05.173 に答える
0

この関数を使用して、コーディングすることでブレッドクラムを設定できます。

function the_breadcrumb() {
if (!is_home()) {
    echo '<a href="';
    echo get_option('home');
    echo '">';
    echo "Home";//bloginfo('name');
    echo "</a> / ";
    if (is_category() || is_single()) {
        the_category('title_li=');
        if (is_single()) {
            echo " / ";
            the_title();
        }
    } elseif (is_page()) {
        echo the_title();
    }
}

}

上記のコードをfunction.phpファイルに入れます

ブレッドクラムを表示したい場所で関数を呼び出すだけです

<?php the_breadcrumb(); ?>

これがお役に立てば幸いです...

于 2013-03-15T08:50:53.127 に答える
0
<script type="text/javascript">
$('#breadcrumbs .category[href="http://mysite.com/category/products"]').attr('href','http://mysite.com/803-2');
</script>

どこ:

http://mysite.com/803-2

リンクしたいページのURLです...

于 2013-03-15T12:55:05.400 に答える