ナビゲーションメニューシステムがWordPress3.0でリリースされたとき、これはWordPressをブログプラットフォームから強力なCMSに変えた要因のXNUMXつでした。
つまり、カスタムリンクなど、必要なコンテンツをWebサイトのナビゲーションメニューに追加できます。 「ドラッグアンドドロップ」インターフェースは、コーディングスキルがなくても誰でも独自のカスタムメニューを作成できることを意味しました。
しかし、時にはそれに依存したくない場合があります。 Webサイトにページを追加しようとしているクライアント向けにWebサイトを開発している場合、スキルがある場合やスキルが不足している場合に、ナビゲーションメニューを更新することはほとんどありません。 。
そこで、自動ナビゲーションメニューが役に立ちます。
このチュートリアルでは、Webサイトのすべてのページと、ナビゲーションメニューのXNUMX番目のレベルのエントリとして表示される子ページを表示する自動ナビゲーションメニューを作成する方法を説明します。
次に、必要に応じて、このコードをテーマのページヘッダー、サイドバー、またはフッターに追加できます。これにより、ユーザーのリンクが表示され、新しいコンテンツがWebサイトに追加されます。
ただし、WordPressをインストールしたことがない場合は、 WordPressのブログ7の手順をインストールする方法 et あなたのブログにワードプレスのテーマを、見つけインストールしてアクティブにする方法
それから私たちがここにいる理由に戻りましょう。
WordPressのナビゲーションメニューを自動化するために必要なものは次のとおりです。
- いくつかのページとサブページが追加されたWordPress開発またはテストインストール
- コードエディター。
コードを設定します
このコードをプラグインに追加して、WordPressテーマを変更しても永続的になるようにします。 このようにして、テーマにプラグインの機能を追加して、必要な場所にナビゲーションメニューを追加できます。 WordPressテーマに「 フック XNUMXつ以上を使用して、このコードを挿入できます。
リストもご覧ください カウントダウンを作成するための10 WordPressプラグイン
フックのないサードパーティのWordPressテーマを使用している場合は、テーマにコードを追加する必要があります。 テーマに直接コーディングしないでください。代わりに、子テーマを作成してコードを追加してください。 編集するメインテーマからテーマテンプレートファイルの複製を作成し、それを子テーマに追加して、編集するだけです。
最初の一歩
最初のステップは、プラグインを作成することです。 「にフォルダを作成します wp-content/plugins "。 フォルダを作成すると、スタイルシートやインクルードファイルなど、必要に応じてプラグインにファイルを追加できるようになります。
まず、プラグインのログインコードをコメントに追加して、WordPressに次のことを伝える必要があります。
<?php
/**
*プラグイン名:プラグイン
* プラグイン URI: http://blogpascher.com
* 説明: WordPress プラグイン
* バージョン: 1.0
* 著者: エルベ
※著者URI:http://blogpascher.com
*
*/
今すぐあなたのプラグインを有効にします。
次に、子テーマを使用している場合は、それを構成します。 私はTwentySeventeenテーマの子テーマを使用しています-これが私のスタイルシートです:
<?php
/**
*プラグイン名:プラグイン
* プラグイン URI: http://blogpascher.com
* 説明: WordPress プラグイン
* バージョン: 1.0
* 著者: エルベ
※著者URI:http://blogpascher.com
*
*/
@import url( " ../twentyseventeen/style.css " );
それを行った後、Webサイトにまだページがない場合は、いくつか追加します。 それらはいくつかのレベルの構造を持っている必要があります。 これは私の偽のページがどのように見えるかです:
それでは、プラグインへのコードの追加を始めましょう。
すべてのページを階層的に一覧表示する関数を作成します
関数を使用します« wp_list_pages() すべてのページを取得し、リンク付きで一覧表示します。 しかし、最初に、いくつかの引数を定義する必要があります。 関数を作成することから始めて、次の引数を追加します。
wpmu_list_pages(){wpmu_list_pages(){$ args = array( 'depth' => 2); }
議論は非常に単純です-私たちがやりたいページのレベルには2つしかありません。 「XNUMX」に設定すると、最上位のページとそのサブページが表示されますが、それ以上は表示されません。
発見する ワードプレスとソリューションの5接続の一般的なエラー
次に、引数の後に関数「wp_list_pages()」を追加しましょう。
wp_list_pages($ argsを)。
完全な機能は次のとおりです。
wpmu_list_pages(){wpmu_list_pages(){$ args = array( 'depth' => 2); wp_list_pages($ args); }
テーマに機能を追加する
現時点では、この関数は私のWebサイトに何も表示しません。 これを変更するには、メインテーマヘッダーのコピーを子テーマに追加して編集する必要があります。
参照: WordPressをクライアントのウェブサイトで保護する方法
ヘッダーファイルを子テーマにコピーして開きます。 Twenty Seventeenでは、ナビゲーションメニューコードは「 テンプレートパーツ/ナビゲーション/navigation-top.php つまり、このテーマのコピーを子テーマの同じ場所に追加する必要があります。
さらに発見する WordPressの子テーマをインストールする方法
あなたのテーマでは、これはファイルにすることができます header.phpの コピーする必要があります。
テーマによって、メニューコードが異なります。 私が使用しているものでは、これは私が置き換える必要があるコードです:
'top'、 'menu_id' => 'top-menu'、)); ?>
「else {}」宣言の既存のコードを使用して、ナビゲーションメニューのコードを変更し、新しい関数を追加します。
'top'、 'menu_id' => 'top-menu'、)); }?>
条件付きステートメントは重要です。まず、プラグインに追加した関数が存在するかどうかを確認します(つまり、プラグインがアクティブ化されている場合)そして、もしそうなら、それはそこから機能を実行します。 それ以外の場合は、正常に動作します。
のガイドもご覧ください ワードプレスの広告ブロックを表示する方法
今私のウェブサイトを見てください:
リンクは表示されますが、いくつかの問題があります。 「ページ」を上部に表示したくない(これは関数のデフォルトです wp_list_pages() )そして私はページをより効率的に注文したいと思います。 ホームページがリストの中央にあることがわかりますが、これは理想的ではありません。
機能を改善する
プラグインのコードに戻り、これらの問題を修正するためにそれを適応させましょう。
定義済みの引数を見つけます wp_list_pages():
$ args = array( 'depth' => 2);
そしてそれを編集します:
$ args = array($ args = array( 'depth' => 2、 'title_li' => ' '。 __( 'メニュー'、 'bpc')。 ' '、' sort_column '=>' menu-order ');
これにより、さらに2つの引数が追加されます。
- リストの前のマークアップは、「 メニュー 代わりに ページ '。
- ページが表示される順序。
ページの編集画面に戻り、各ページのページの順序を定義する必要があります。 ホームページを「0」の値に設定すると、他のトップレベルのページはこれらよりも高くなります。
ガイドもご覧ください : FacebookとDisqusのコメントを段階的に読み込む方法
これで、メニューを表示すると、次のようになります。
第0レベルのページのメニュー順序を変更することもできます。 これはトップレベルのページの上に表示されることはないため、サブページのセットごとに1またはXNUMXから開始できます。
プレミアムWordPressプラグインもご覧ください
他にも使えます WordPressのプラグイン モダンな外観を与え、ブログやウェブサイトへの接続を最適化します。
ここでは、そのためのプレミアムWordPressプラグインを提供しています。
1。 重力フォーム
事業主として、顧客からの連絡を許可することを優先する必要があります。 重力フォーム のプラグインです お問い合わせフォーム WordPressで最も人気があります。
あなたはそれを使用することができます あらゆるタイプのフォームを作成する、見積もりフォーム、調査など。
2。 eFormの
eFormは、既存のWordPressWebサイトに統合できる高度で柔軟なフォームビルダーです。 これは完全なフォーム管理ソリューションです。 これは、とりわけ、クイズ、調査、データ収集、支払い見積もり、およびユーザーのコメントに関係します。
このようなフォームデザイナーを使用すると、フォームを無制限に設計し、ダッシュボードから管理できます。 すべてのリクエストはデータベースに保存され、保存したデータを表示、追跡、分析、および実行できます。
記事もご覧ください どのようにコンテンツマーケティングあなたのブログのSEOに影響を及ぼし
さらに、ユーザーポータルを使用すると、登録ユーザーはリクエストを確認および追跡することもできます。
3。 Mailster
メールスターは WordPressのプラグイン ニュースレターをウェブサイトに統合するのに役立つ使いやすいプレミアム。 後者を使用すると、手間をかけずにキャンペーンを作成、送信、および追跡できます.
その主な機能は次のとおりです。開いているメール、クリック、サブスクリプション、直帰率を追跡する機能、キャンペーンをターゲットにする機能、キャンペーンの管理と計画、6種類の自動応答のサポート、無制限の作成登録フォーム、ユーザーフレンドリーなインターフェース、 背景のカスタマイズ, 多言語のサポートそして、はるかに。
推奨リソース
ウェブサイトの構築と管理に役立つ他の推奨リソースをご覧ください。
- あなたのブログにメガメニューを作成するための8 WordPressプラグイン
- WordPressで最近の記事を表示する方法
- WordPressでSlider Revolutionを使用してスライドショーを作成する方法
- ワードプレスの広告ブロックを表示する方法
まとめ
ここは ! これでこのチュートリアルは終わりです。メニューにページを自動的に追加できることを願っています。 この分野で懸念や提案がある場合は、 議論するコメントセクション.
しかし、あなたも私たちに相談することができます ressources、インターネットサイトの作成プロジェクトを実行するためにより多くの要素が必要な場合は、 WordPressブログ作成 または Divi:史上最高のWordPressテーマ.
しかし、その間に、 さまざまなソーシャルネットワークでこの記事を共有する.
...
お疲れ様です
記事をありがとう
私の問題は、「テーマへの関数の追加」の部分で実行する手順がよくわからないことです。「navigation-top.php」ファイルを直接変更する必要がありますか? 子テーマで複製する必要がありますか? 示された部分を変更して、function.phpファイルに追加する必要がありますか?
または別の解決法x)
私にポイントを明確にしてくれてありがとう
PS:githubのリンクは空のディレクトリに私たちを連れてきます
こんばんは、それは確かに子テーマでファイルを複製することの問題です。 残りはWordPressが処理します。 これは、ファイルが子テーマに存在するかどうかを確認しようとするため、存在しない場合は親テーマファイルをロードするためです。