WordPress ブレッドクラム ナビゲーション コードを共有する
以下は、WordPress チュートリアル列で共有されている WordPress ブレッドクラム ナビゲーション コードです。必要としている友人の役に立てば幸いです。
カスタム投稿タイプとカスタムカテゴリをサポートする WordPress ブレッドクラム ナビゲーション コードの一部を再印刷して共有しますが、カテゴリ アーカイブ ページに親子カテゴリ階層を表示できないのは残念です。
コードを現在のテーマ関数テンプレートに追加しますfunctions.php:
/** * WordPress Breadcrumbs */ function tsh_wp_custom_breadcrumbs() { $separator = '/'; $breadcrumbs_id = 'tsh_breadcrumbs'; $breadcrumbs_class = 'tsh_breadcrumbs'; $home_title = esc_html__('Home', 'your-domain'); // Add here you custom post taxonomies $tsh_custom_taxonomy = 'product_cat'; global $post,$wp_query; // Hide from front page if ( !is_front_page() ) { echo '<ul id="' . $breadcrumbs_id . '" class="' . $breadcrumbs_class . '">'; // Home echo '<li class="item-home"><a class="bread-link bread-home" href="' . get_home_url() . '" title="' . $home_title . '">' . $home_title . '</a></li>'; echo '<li class="separator separator-home"> ' . $separator . ' </li>'; if ( is_archive() && !is_tax() && !is_category() && !is_tag() ) { echo '<li class="item-current item-archive"><strong class="bread-current bread-archive">' . post_type_archive_title('', false) . '</strong></li>'; } else if ( is_archive() && is_tax() && !is_category() && !is_tag() ) { // For Custom post type $post_type = get_post_type(); // Custom post type name and link if($post_type != 'post') { $post_type_object = get_post_type_object($post_type); $post_type_archive = get_post_type_archive_link($post_type); echo '<li class="item-cat item-custom-post-type-' . $post_type . '"><a class="bread-cat bread-custom-post-type-' . $post_type . '" href="' . $post_type_archive . '" title="' . $post_type_object->labels->name . '">' . $post_type_object->labels->name . '</a></li>'; echo '<li class="separator"> ' . $separator . ' </li>'; } $custom_tax_name = get_queried_object()->name; echo '<li class="item-current item-archive"><strong class="bread-current bread-archive">' . $custom_tax_name . '</strong></li>'; } else if ( is_single() ) { $post_type = get_post_type(); if($post_type != 'post') { $post_type_object = get_post_type_object($post_type); $post_type_archive = get_post_type_archive_link($post_type); echo '<li class="item-cat item-custom-post-type-' . $post_type . '"><a class="bread-cat bread-custom-post-type-' . $post_type . '" href="' . $post_type_archive . '" title="' . $post_type_object->labels->name . '">' . $post_type_object->labels->name . '</a></li>'; echo '<li class="separator"> ' . $separator . ' </li>'; } // Get post category $category = get_the_category(); if(!empty($category)) { // Last category post is in $last_category = $category[count($category) - 1]; // Parent any categories and create array $get_cat_parents = rtrim(get_category_parents($last_category->term_id, true, ','),','); $cat_parents = explode(',',$get_cat_parents); // Loop through parent categories and store in variable $cat_display $cat_display = ''; foreach($cat_parents as $parents) { $cat_display .= '<li class="item-cat">'.$parents.'</li>'; $cat_display .= '<li class="separator"> ' . $separator . ' </li>'; } } $taxonomy_exists = taxonomy_exists($tsh_custom_taxonomy); if(empty($last_category) && !empty($tsh_custom_taxonomy) && $taxonomy_exists) { $taxonomy_terms = get_the_terms( $post->ID, $tsh_custom_taxonomy ); $cat_id = $taxonomy_terms[0]->term_id; $cat_nicename = $taxonomy_terms[0]->slug; $cat_link = get_term_link($taxonomy_terms[0]->term_id, $tsh_custom_taxonomy); $cat_name = $taxonomy_terms[0]->name; } // If the post is in a category if(!empty($last_category)) { echo $cat_display; echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></li>'; // Post is in a custom taxonomy } else if(!empty($cat_id)) { echo '<li class="item-cat item-cat-' . $cat_id . ' item-cat-' . $cat_nicename . '"><a class="bread-cat bread-cat-' . $cat_id . ' bread-cat-' . $cat_nicename . '" href="' . $cat_link . '" title="' . $cat_name . '">' . $cat_name . '</a></li>'; echo '<li class="separator"> ' . $separator . ' </li>'; echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></li>'; } else { echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></li>'; } } else if ( is_category() ) { // Category page echo '<li class="item-current item-cat"><strong class="bread-current bread-cat">' . single_cat_title('', false) . '</strong></li>'; } else if ( is_page() ) { // Standard page if( $post->post_parent ){ // Get parents $anc = get_post_ancestors( $post->ID ); // Get parents order $anc = array_reverse($anc); // Parent pages if ( !isset( $parents ) ) $parents = null; foreach ( $anc as $ancestor ) { $parents .= '<li class="item-parent item-parent-' . $ancestor . '"><a class="bread-parent bread-parent-' . $ancestor . '" href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>'; $parents .= '<li class="separator separator-' . $ancestor . '"> ' . $separator . ' </li>'; } // Render parent pages echo $parents; // Active page echo '<li class="item-current item-' . $post->ID . '"><strong title="' . get_the_title() . '"> ' . get_the_title() . '</strong></li>'; } else { // Just display active page if not parents pages echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '"> ' . get_the_title() . '</strong></li>'; } } else if ( is_tag() ) { // Tag page // Tag information $term_id = get_query_var('tag_id'); $taxonomy = 'post_tag'; $args = 'include=' . $term_id; $terms = get_terms( $taxonomy, $args ); $get_term_id = $terms[0]->term_id; $get_term_slug = $terms[0]->slug; $get_term_name = $terms[0]->name; // Return tag name echo '<li class="item-current item-tag-' . $get_term_id . ' item-tag-' . $get_term_slug . '"><strong class="bread-current bread-tag-' . $get_term_id . ' bread-tag-' . $get_term_slug . '">' . $get_term_name . '</strong></li>'; } elseif ( is_day() ) { // Day archive page // Year link echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>'; echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>'; // Month link echo '<li class="item-month item-month-' . get_the_time('m') . '"><a class="bread-month bread-month-' . get_the_time('m') . '" href="' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</a></li>'; echo '<li class="separator separator-' . get_the_time('m') . '"> ' . $separator . ' </li>'; // Day display echo '<li class="item-current item-' . get_the_time('j') . '"><strong class="bread-current bread-' . get_the_time('j') . '"> ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives</strong></li>'; } else if ( is_month() ) { // Month Archive // Year link echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>'; echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>'; // Month display echo '<li class="item-month item-month-' . get_the_time('m') . '"><strong class="bread-month bread-month-' . get_the_time('m') . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</strong></li>'; } else if ( is_year() ) { // Display year archive echo '<li class="item-current item-current-' . get_the_time('Y') . '"><strong class="bread-current bread-current-' . get_the_time('Y') . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</strong></li>'; } else if ( is_author() ) { // Author archive // Get the author information global $author; $userdata = get_userdata( $author ); // Display author name echo '<li class="item-current item-current-' . $userdata->user_nicename . '"><strong class="bread-current bread-current-' . $userdata->user_nicename . '" title="' . $userdata->display_name . '">' . 'Author: ' . $userdata->display_name . '</strong></li>'; } else if ( get_query_var('paged') ) { // Paginated archives echo '<li class="item-current item-current-' . get_query_var('paged') . '"><strong class="bread-current bread-current-' . get_query_var('paged') . '" title="Page ' . get_query_var('paged') . '">'.__('Page') . ' ' . get_query_var('paged') . '</strong></li>'; } else if ( is_search() ) { // Search results page echo '<li class="item-current item-current-' . get_search_query() . '"><strong class="bread-current bread-current-' . get_search_query() . '" title="Search results for: ' . get_search_query() . '">Search results for: ' . get_search_query() . '</strong></li>'; } elseif ( is_404() ) { // 404 page echo '<li>' . 'Error 404' . '</li>'; } echo '</ul>'; } }
呼び出しコードをテーマ テンプレートの適切な場所 (header.php など) に配置します:
<?php if (function_exists('tsh_wp_custom_breadcrumbs')) tsh_wp_custom_breadcrumbs(); ?>
一致するスタイル :
#tsh_breadcrumbs .separator{ font-size:20px; color:#ccc; font-weight:100; } #tsh_breadcrumbs{ overflow:hidden; text-align: center; list-style:none; margin:11px 0; } #tsh_breadcrumbs li{ margin-right:14px; display:inline-block; vertical-align:middle; }
以上がWordPress ブレッドクラム ナビゲーション コードを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

WordPressホストを使用してWebサイトを構築するには、次のようにする必要があります。信頼できるホスティングプロバイダーを選択します。ドメイン名を購入します。 WordPressホスティングアカウントを設定します。トピックを選択します。ページと記事を追加します。プラグインをインストールします。ウェブサイトをカスタマイズします。あなたのウェブサイトを公開します。

WordPress IPブロックプラグインの選択が重要です。次のタイプを考慮することができます。.htaccessに基づいて:効率的ですが複雑な操作。データベース操作:柔軟性がありますが、効率が低いです。ファイアウォール:セキュリティの高いパフォーマンスですが、複雑な構成。自己執筆:最高のコントロールですが、より多くの技術レベルが必要です。

WordPressのヘッダー画像を置き換えるための段階的なガイド:WordPressダッシュボードにログインし、外観とGT;テーマに移動します。編集するトピックを選択し、[カスタマイズ]をクリックします。テーマオプションパネルを開き、サイトヘッダーまたはヘッダーの画像オプションを探します。 [画像の選択]ボタンをクリックして、新しいヘッド画像をアップロードします。画像をトリミングして、保存と収穫をクリックします。 [保存と公開]ボタンをクリックして、変更を更新します。

WordPressの編集日は、次の3つの方法でキャンセルできます。 2. functions.phpファイルにコードを追加します。 3. wp_postsテーブルのpost_modified列を手動で編集します。

WordPressでカスタムヘッダーを作成する手順は次のとおりです。テーマファイル「header.php」を編集します。あなたのウェブサイトの名前と説明を追加します。ナビゲーションメニューを作成します。検索バーを追加します。変更を保存して、カスタムヘッダーを表示します。

WordPressソースコードのインポートには、次の手順が必要です。テーマ変更のサブテーマを作成します。ソースコードをインポートし、サブトピックのファイルを上書きします。サブテーマを有効にして効果的にします。変更をテストして、すべてが機能することを確認します。

ダッシュボードにログインし、[サイト]タブに切り替えることにより、WordPressのフロントエンドを表示できます。ヘッドレスブラウザで視聴プロセスを自動化します。 WordPressプラグインをインストールして、ダッシュボード内のフロントエンドをプレビューします。ローカルURLを介してフロントエンドを表示します(WordPressがローカルに設定されている場合)。
