WordPress Post Seriesプラグインを使用すると、投稿を連続的に整理して本やコースを作成できます。ユーザーに学習のパスを提供します。投稿シリーズプラグインを使用して、長い投稿を複数の部品に分割することもできます。 このチュートリアルでは、一連の投稿を表示するためのプラグインを作成する方法を紹介します。同じコードをテーマ機能としてテーマに統合することもできます。
キーテイクアウト
カスタム分類法の代わりにカスタム投稿タイプを利用して、WordPressの投稿シリーズを効果的に作成および管理し、ユーザーエクスペリエンスとコンテンツ組織の両方を強化します。
スタイリング用のPHPファイルとオプションのCSSを備えたプラグイン構造を実装し、WordPressがカスタムプラグインを認識して正しくインストールするようにします。- WordPress管理者にメタボックスを含めて、著者が特定のシリーズに投稿を割り当てて連続的に注文し、シリーズの構造的完全性を改善できるようにします。
- 「pre_get_posts」アクションを使用してメインクエリループを変更することにより、サイト上のポストシリーズの可視性を拡張し、インデックスページとアーカイブページにシリーズが含まれるようにします。 以前の投稿と次の投稿にナビゲーションリンクを追加することにより、シリーズ内の個々の投稿を強化し、訪問者ごとのユーザーエンゲージメントとページビューを強化します。
- 分類法とポストシリーズ
- WordPressでは、分類法を使用して、同様の投稿をグループ化または整理します。しかし、WordPressは、特定の分類法のすべての投稿をカスタマイズされたシリアル方法で表示する方法を提供していません。 WordPressの分類法はarchive.phpファイルを使用して表示されるため、単一のインデックス可能な投稿として投稿シリーズを作成することはできません。
- したがって、投稿シリーズが必要です。これは、実際にはシリアル方法で他の投稿を含む1つの投稿です。
- ポストシリーズの作成方法
プラグインファイル構造
ポストシリーズの作成方法カスタム投稿タイプ
最初に、各カスタム投稿タイプが投稿シリーズを表すカスタム投稿タイプを作成する必要があります。
というファイルに以下のコードを置きます<span><span><?php </span></span><span>
</span><span><span>/*
</span></span><span><span>Plugin Name: SitePoint Post Series
</span></span><span><span>Plugin URI: https://www.sitepoint.com/
</span></span><span><span>Description: This used is used to create a post series.
</span></span><span><span>Version: 1.0
</span></span><span><span>Author: Narayan Prusty
</span></span><span><span>*/</span></span></span>
ここでは、WordPressの投稿で使用されているのと同じ分類法を持つカスタム投稿タイプを作成しました。これは、カテゴリポストシリーズも作成できるようにするためです。
また、flushの書き換えルールを洗い流すためのアクティベーションフックと非アクティブ化フックも追加しました。これは、ポストシリーズをフロントエンドで表示できるようにするためです。
これが私たちのカスタム投稿タイプが管理画面に見えるものです:
投稿シリーズメタボックスを投稿に追加します
次に、WordPress投稿管理インターフェイスにメタボックスを追加する必要があります。これは、著者が投稿シリーズに投稿を添付し、投稿シリーズ内の投稿をソートするためのシリアル番号を提供できるようにするためです。
これがメタボックスを投稿するためのコードを投稿します:
ここでは、メタボックスに2つのフィールドを追加します。テキストフィールドは、著者がシリアル番号を入力するために使用され、ドロップダウンを使用して、ポストが属するポストシリーズ名を選択します。投稿シリーズに投稿を追加したくない場合は、1つまたは両方のフィールドを空白のままにする必要があります。
これが管理者の投稿画面でどのように見えるか:
<span>function sitepoint_post_series_custom_post_type()
</span><span>{
</span> <span>register_post_type("sitepoint-postseries", array(
</span> <span>"labels" => array("name" => __("Post Series"), "singular_name" => __("Post Series")),
</span> <span>"public" => true,
</span> <span>"has_archive" => true,
</span> <span>"rewrite" => array("slug"=> "post-series"),
</span> <span>"supports" => array("editor", "title", "excerpt", "thumbnail", "comments"),
</span> <span>"capability_type" => "post",
</span> <span>"publicly_queryable" => true,
</span> <span>"taxonomies" => array("category", "post_tag"),
</span> <span>)
</span> <span>);
</span><span>}
</span>
<span>add_action("init", "sitepoint_post_series_custom_post_type", 2);
</span>
<span>/* Flush Rewrite Rules */
</span>
<span>function sitepoint_post_series_activation()
</span><span>{
</span> <span>sitepoint_post_series_custom_post_type();
</span> <span>flush_rewrite_rules();
</span><span>}
</span>
<span>register_activation_hook( __FILE__, "sitepoint_post_series_activation");
</span><span>register_deactivation_hook( __FILE__, "sitepoint_post_series_activation");</span>
フォームが保存されたら、メタボックスフィールドを保存する必要があります。これを行うコードは次のとおりです
ここで、メタボックスコンテンツを保存してから、ユーザーがシリーズを削除したり、シリーズを追加したり、シリーズを変更したりするかどうかに応じて、異なる引数値を持つ関数を異なる引数値で呼び出します。
この関数は、特定のシリーズに属するWordPress Post IDを保存する文字列を作成します。そして、文字列をWordPress設定として保存します。
これで、すべての管理者エーカーコードが完了しました。これで、投稿を作成してシリーズに割り当てることができるはずです。また、各シリーズにカテゴリとタグを割り当てます
次に、フロントエンドをコードして投稿シリーズを表示しましょう。/* Add Custom Meta Boxes in WordPress Posts */
function sitepoint_post_series_meta_box_markup($object)
{
wp_nonce_field(basename(__FILE__), "sitepoint-postseries");
?>
<span><span><span><div>>
<span><span><span><label> for<span>="sitepoint-postseries-serial-number"</span>></label></span>Serial Number<span><span></span>></span>
</span> <span><span><span><br>></span>
</span> <span><span><span><input> name<span>="sitepoint-postseries-serial-number"</span> type<span>="text"</span> value<span>="<span><?php echo get_post_meta($object->ID, "sitepoint-postseries-serial-number", true); ?></span>"</span>></span>
</span>
<span><span><span><br>></span>
</span>
<span><span><span><label> for<span>="sitepoint-postseries-id"</span>></label></span>Name<span><span></span>></span>
</span> <span><span><span><br>></span>
</span> <span><span><span><select> name<span>="sitepoint-postseries-id"</span>></select></span>
</span> <span><span><span><option> value<span>=""</span>></option></span>-<span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>$posts = get_posts("post_type=sitepoint-postseries");
</span></span><span> <span>$selected_series = get_post_meta($object->ID, "sitepoint-postseries-id", true);
</span></span><span> <span>foreach($posts as $post)
</span></span><span> <span>{
</span></span><span> <span>$id_post = $post->ID;
</span></span><span> <span>if($id_post == $selected_series)
</span></span><span> <span>{
</span></span><span> <span>?></span>
</span> <span><span><span><option> selected value<span>="<span><?php echo $post->ID; ?></span>"</span>></option></span><span><?php echo $post->post_title; ?></span><span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>}
</span></span><span> <span>else
</span></span><span> <span>{
</span></span><span> <span>?></span>
</span> <span><span><span><option> value<span>="<span><?php echo $post->ID; ?></span>"</span>></option></span><span><?php echo $post->post_title; ?></span><span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>}
</span></span><span> <span>}
</span></span><span> <span>?></span>
</span> <span><span><span></span>></span>
</span> <span><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
</div></span>></span>
</span> <span><span><?php </span></span><span><span>}
</span></span><span>
</span><span><span>function sitepoint_post_series_custom_meta_box()
</span></span><span><span>{
</span></span><span> <span>add_meta_box("sitepoint-postseries", "Post Series", "sitepoint_post_series_meta_box_markup", "post", "side", "low", null);
</span></span><span><span>}
</span></span><span>
</span><span><span>add_action("add_meta_boxes", "sitepoint_post_series_custom_meta_box");</span></span></span>
インデックスページとアーカイブページに表示される投稿シリーズを作成
カスタム投稿タイプは、インデックスページとアーカイブページではまだ表示されていません。これらのページでも見えるようにするには、以下にコードを追加する必要があります。
<span>/* Callback to Save Meta Data */
</span>
<span>function sitepoint_post_series_save_custom_meta_box($post_id, $post, $update)
</span><span>{
</span>
<span>if(!isset($_POST["sitepoint-postseries"]) || !wp_verify_nonce($_POST["sitepoint-postseries"], basename(__FILE__)))
</span> <span>return $post_id;
</span>
<span>if(!current_user_can("edit_post", $post_id))
</span> <span>return $post_id;
</span>
<span>if(defined("DOING_AUTOSAVE") && DOING_AUTOSAVE)
</span> <span>return $post_id;
</span>
<span>$slug = "post";
</span> <span>if($slug != $post->post_type)
</span> <span>return;
</span>
<span>$serial_number = null;
</span> <span>if(isset($_POST["sitepoint-postseries-serial-number"]))
</span> <span>{
</span> <span>$serial_number = $_POST["sitepoint-postseries-serial-number"];
</span> <span>}
</span> <span>else
</span> <span>{
</span> <span>$serial_number = "";
</span> <span>}
</span> <span>update_post_meta($post_id, "sitepoint-postseries-serial-number", $serial_number);
</span>
<span>$series_id = null;
</span> <span>if(isset($_POST["sitepoint-postseries-id"]))
</span> <span>{
</span> <span>$series_id = $_POST["sitepoint-postseries-id"];
</span> <span>}
</span> <span>else
</span> <span>{
</span> <span>$series_id = "";
</span> <span>}
</span>
<span>$previous_series_id = get_post_meta($post_id, "sitepoint-postseries-id", true);
</span>
<span>update_post_meta($post_id, "sitepoint-postseries-id", $series_id);
</span>
<span>//no series, removing series, adding new series or changing series
</span>
<span>if($previous_series_id == "" && $series_id == "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span> <span>else if($previous_series_id != "" && $series_id == "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($previous_series_id, "", $post_id);
</span> <span>}
</span> <span>else if($previous_series_id == "" && $series_id != "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span> <span>else if($previous_series_id != "" && $series_id != "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($previous_series_id, "", $post_id);
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span><span>}
</span>
<span>add_action("save_post", "sitepoint_post_series_save_custom_meta_box", 10, 3);</span>
ここでは、pre_get_postsフックを使用して、投稿シリーズを$ q変数に追加します。これは、メインループで投稿を表示するために使用されます。
投稿シリーズの投稿
ポストシリーズタイプのコンテンツをフィルタリングし、シリーズに属する投稿を追加する必要があります。
これが投稿シリーズページに投稿シリーズの投稿を追加するコードです。
これにより、HTML Unordered List Tagを使用して投稿が表示されます。画像のない投稿の場合、Lorempixel Cloud Serviceの画像をロードして、ランダムなテクスチャ画像を生成します。
設定文字列から投稿シリーズの投稿を取得しています。これは、メタデータの保存中に保存しました。
投稿シリーズ情報を投稿に追加します
投稿シリーズに属する投稿に投稿シリーズボックスを追加して、投稿が特定の投稿シリーズに属していることをユーザーに示すこともできます。これを行うコードは次のとおりです
ここでは、シリーズ名の名前を表示するだけで、この投稿のどの部分がシリーズからのものですか。
/*
Plugin Name: SitePoint Post Series
Plugin URI: https://www.sitepoint.com/
Description: This used is used to create a post series.
Version: 1.0
Author: Narayan Prusty
*/
この実装の問題は、コードがシリーズの投稿数に等しいMySQL数にヒットすることです。特定のポストシリーズの投稿がたくさんある場合、パフォーマンスの問題がありますが、教育目的で含めました。
プラグインを他のポストシリーズプラグインと比較します
ここに、WordPress.orgのプラグインの一部があり、投稿シリーズを作成できます。上記で作成したプラグインとそれぞれを比較しました。
シリーズの整理:編成シリーズは、WordPressの投稿にカスタム分類法を追加します。カスタム分類法を表示すると、Archiveページに向かって追加されます。これは、ポストシリーズのタイトルのようです。また、投稿シリーズの投稿は分類法のように表示されますが、これはユーザーの観点からは大きくない場合があります。それに比べて、当社のプラグインはカスタム投稿タイプを使用して単一の投稿シリーズを表示して、注目の画像、テキスト、またはマークアップコンテンツ(およびその他)を投稿シリーズに追加できるようにします。ポストシリーズの投稿は、プラグインのアーカイブページと比較して異なって見えます。
<span>function sitepoint_post_series_custom_post_type()
</span><span>{
</span> <span>register_post_type("sitepoint-postseries", array(
</span> <span>"labels" => array("name" => __("Post Series"), "singular_name" => __("Post Series")),
</span> <span>"public" => true,
</span> <span>"has_archive" => true,
</span> <span>"rewrite" => array("slug"=> "post-series"),
</span> <span>"supports" => array("editor", "title", "excerpt", "thumbnail", "comments"),
</span> <span>"capability_type" => "post",
</span> <span>"publicly_queryable" => true,
</span> <span>"taxonomies" => array("category", "post_tag"),
</span> <span>)
</span> <span>);
</span><span>}
</span>
<span>add_action("init", "sitepoint_post_series_custom_post_type", 2);
</span>
<span>/* Flush Rewrite Rules */
</span>
<span>function sitepoint_post_series_activation()
</span><span>{
</span> <span>sitepoint_post_series_custom_post_type();
</span> <span>flush_rewrite_rules();
</span><span>}
</span>
<span>register_activation_hook( __FILE__, "sitepoint_post_series_activation");
</span><span>register_deactivation_hook( __FILE__, "sitepoint_post_series_activation");</span>
WP Postシリーズ:これは、整理シリーズプラグインのようにも動作します。違いの1つは、ポストシリーズページにカスタマイズを提供しないことです。
プラグインは高度にカスタマイズ可能で、WordPressハッキングは含まれていません。このように、それははるかに互換性があります。
結論
開発ブログを所有している場合は、このプラグインを使用して独自の投稿シリーズを作成して、エンゲージメントとコンバージョン率を上げることができます。それを使用して、大きな投稿を複数の投稿に分割することもできます。
下のプラグインでの経験についてお気軽にコメントしてください。-
WordPressのポストシリーズプラグインの作成に関するよくある質問ポストシリーズプラグインとは何ですか?なぜWordPressサイトに必要なのか?これは、コンテンツをシリアル化された形式で公開するブログやWebサイトにとって特に便利です。読者が関連コンテンツを簡単に移動できるようにすることで、ユーザーエクスペリエンスを向上させます。また、検索エンジンが十分に構造化された相互リンクされたコンテンツを好むため、ウェブサイトのSEOを改善するのにも役立ちます。ポストシリーズプラグインは、標準のWordPressカテゴリとタグとどのように異なりますか?
WordPressカテゴリとタグでは関連する投稿をグループ化することができますが、ポストシリーズプラグインが提供するシーケンシャル構造がありません。投稿シリーズプラグインを使用すると、特定のシーケンスで投稿を注文して、読者がストーリーラインまたは構造化された学習パスに簡単に従うことができます。ウェブサイト?
はい、ほとんどのポストシリーズプラグインはカスタマイズオプションを提供します。レイアウト、色、フォント、その他のデザイン要素を変更して、Webサイトの全体的な美学に合わせて変更できます。また、一部のプラグインを使用すると、より高度なカスタマイズのためにカスタムCSSを追加することもできます。
投稿シリーズを作成することは、私のウェブサイトのSEOにどのように影響しますか?関連する投稿をグループ化することにより、検索エンジンが愛する内部リンクの豊富なネットワークを作成しています。また、読者がシリーズで複数の投稿を読む可能性が高いため、ウェブサイトの滞留時間を増やします。必要なだけ多くの投稿シリーズを作成できます。これは、複数のトピックをカバーしている、またはさまざまな種類のシリアル化コンテンツを持っているWebサイトに特に便利です。
シリーズが公開された後に投稿を追加することは可能ですか?いつでもシリーズへの新しい投稿。ほとんどのポストシリーズプラグインを使用すると、シリーズを簡単に管理および更新して、コンテンツが関連性があり最新の状態を確保できます。 >
はい、Multi-Outhorサイトでポストシリーズプラグインを使用できます。複数の著者からコンテンツを管理および整理し、すべての投稿で一貫性と一貫性を確保するための優れたツールになります。 WordPressの投稿シリーズを作成するには、コーディングスキルは必要ありません。ほとんどのポストシリーズプラグインには、シリーズを簡単に作成および管理できるようにするユーザーフレンドリーなインターフェイスが付属しています。ポストシリーズプラグインは、WordPressテーマでシームレスに動作するように設計されています。ただし、プラグインのドキュメントを確認するか、確認のために開発者に連絡することをお勧めします。WordPressに利用できる無料のポストシリーズプラグインはありますか? WordPressで利用可能なプラグイン。ただし、無料のプラグインは、プレミアムプラグインほど多くの機能やサポートを提供しない場合があることに留意してください。あなたのニーズと予算に最適なプラグインを常に選択してください。
<span><span><?php </span></span><span> </span><span><span>/* </span></span><span><span>Plugin Name: SitePoint Post Series </span></span><span><span>Plugin URI: https://www.sitepoint.com/ </span></span><span><span>Description: This used is used to create a post series. </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Narayan Prusty </span></span><span><span>*/</span></span></span>
ここでは、WordPressの投稿で使用されているのと同じ分類法を持つカスタム投稿タイプを作成しました。これは、カテゴリポストシリーズも作成できるようにするためです。 また、flushの書き換えルールを洗い流すためのアクティベーションフックと非アクティブ化フックも追加しました。これは、ポストシリーズをフロントエンドで表示できるようにするためです。
これが私たちのカスタム投稿タイプが管理画面に見えるものです:
投稿シリーズメタボックスを投稿に追加します

これがメタボックスを投稿するためのコードを投稿します:
ここでは、メタボックスに2つのフィールドを追加します。テキストフィールドは、著者がシリアル番号を入力するために使用され、ドロップダウンを使用して、ポストが属するポストシリーズ名を選択します。投稿シリーズに投稿を追加したくない場合は、1つまたは両方のフィールドを空白のままにする必要があります。
これが管理者の投稿画面でどのように見えるか:
<span>function sitepoint_post_series_custom_post_type() </span><span>{ </span> <span>register_post_type("sitepoint-postseries", array( </span> <span>"labels" => array("name" => __("Post Series"), "singular_name" => __("Post Series")), </span> <span>"public" => true, </span> <span>"has_archive" => true, </span> <span>"rewrite" => array("slug"=> "post-series"), </span> <span>"supports" => array("editor", "title", "excerpt", "thumbnail", "comments"), </span> <span>"capability_type" => "post", </span> <span>"publicly_queryable" => true, </span> <span>"taxonomies" => array("category", "post_tag"), </span> <span>) </span> <span>); </span><span>} </span> <span>add_action("init", "sitepoint_post_series_custom_post_type", 2); </span> <span>/* Flush Rewrite Rules */ </span> <span>function sitepoint_post_series_activation() </span><span>{ </span> <span>sitepoint_post_series_custom_post_type(); </span> <span>flush_rewrite_rules(); </span><span>} </span> <span>register_activation_hook( __FILE__, "sitepoint_post_series_activation"); </span><span>register_deactivation_hook( __FILE__, "sitepoint_post_series_activation");</span>
フォームが保存されたら、メタボックスフィールドを保存する必要があります。これを行うコードは次のとおりです
ここで、メタボックスコンテンツを保存してから、ユーザーがシリーズを削除したり、シリーズを追加したり、シリーズを変更したりするかどうかに応じて、異なる引数値を持つ関数を異なる引数値で呼び出します。
これで、すべての管理者エーカーコードが完了しました。これで、投稿を作成してシリーズに割り当てることができるはずです。また、各シリーズにカテゴリとタグを割り当てます
インデックスページとアーカイブページに表示される投稿シリーズを作成 カスタム投稿タイプは、インデックスページとアーカイブページではまだ表示されていません。これらのページでも見えるようにするには、以下にコードを追加する必要があります。
投稿シリーズの投稿 ポストシリーズタイプのコンテンツをフィルタリングし、シリーズに属する投稿を追加する必要があります。
設定文字列から投稿シリーズの投稿を取得しています。これは、メタデータの保存中に保存しました。
と比較します
WordPressカテゴリとタグでは関連する投稿をグループ化することができますが、ポストシリーズプラグインが提供するシーケンシャル構造がありません。投稿シリーズプラグインを使用すると、特定のシーケンスで投稿を注文して、読者がストーリーラインまたは構造化された学習パスに簡単に従うことができます。ウェブサイト? 投稿シリーズを作成することは、私のウェブサイトのSEOにどのように影響しますか?関連する投稿をグループ化することにより、検索エンジンが愛する内部リンクの豊富なネットワークを作成しています。また、読者がシリーズで複数の投稿を読む可能性が高いため、ウェブサイトの滞留時間を増やします。必要なだけ多くの投稿シリーズを作成できます。これは、複数のトピックをカバーしている、またはさまざまな種類のシリアル化コンテンツを持っているWebサイトに特に便利です。この関数は、特定のシリーズに属するWordPress Post IDを保存する文字列を作成します。そして、文字列をWordPress設定として保存します。
/* Add Custom Meta Boxes in WordPress Posts */
function sitepoint_post_series_meta_box_markup($object)
{
wp_nonce_field(basename(__FILE__), "sitepoint-postseries");
?>
<span><span><span><div>>
<span><span><span><label> for<span>="sitepoint-postseries-serial-number"</span>></label></span>Serial Number<span><span></span>></span>
</span> <span><span><span><br>></span>
</span> <span><span><span><input> name<span>="sitepoint-postseries-serial-number"</span> type<span>="text"</span> value<span>="<span><?php echo get_post_meta($object->ID, "sitepoint-postseries-serial-number", true); ?></span>"</span>></span>
</span>
<span><span><span><br>></span>
</span>
<span><span><span><label> for<span>="sitepoint-postseries-id"</span>></label></span>Name<span><span></span>></span>
</span> <span><span><span><br>></span>
</span> <span><span><span><select> name<span>="sitepoint-postseries-id"</span>></select></span>
</span> <span><span><span><option> value<span>=""</span>></option></span>-<span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>$posts = get_posts("post_type=sitepoint-postseries");
</span></span><span> <span>$selected_series = get_post_meta($object->ID, "sitepoint-postseries-id", true);
</span></span><span> <span>foreach($posts as $post)
</span></span><span> <span>{
</span></span><span> <span>$id_post = $post->ID;
</span></span><span> <span>if($id_post == $selected_series)
</span></span><span> <span>{
</span></span><span> <span>?></span>
</span> <span><span><span><option> selected value<span>="<span><?php echo $post->ID; ?></span>"</span>></option></span><span><?php echo $post->post_title; ?></span><span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>}
</span></span><span> <span>else
</span></span><span> <span>{
</span></span><span> <span>?></span>
</span> <span><span><span><option> value<span>="<span><?php echo $post->ID; ?></span>"</span>></option></span><span><?php echo $post->post_title; ?></span><span><span></span>></span>
</span> <span><span><?php </span></span><span> <span>}
</span></span><span> <span>}
</span></span><span> <span>?></span>
</span> <span><span><span></span>></span>
</span> <span><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
</div></span>></span>
</span> <span><span><?php </span></span><span><span>}
</span></span><span>
</span><span><span>function sitepoint_post_series_custom_meta_box()
</span></span><span><span>{
</span></span><span> <span>add_meta_box("sitepoint-postseries", "Post Series", "sitepoint_post_series_meta_box_markup", "post", "side", "low", null);
</span></span><span><span>}
</span></span><span>
</span><span><span>add_action("add_meta_boxes", "sitepoint_post_series_custom_meta_box");</span></span></span>
<span>/* Callback to Save Meta Data */
</span>
<span>function sitepoint_post_series_save_custom_meta_box($post_id, $post, $update)
</span><span>{
</span>
<span>if(!isset($_POST["sitepoint-postseries"]) || !wp_verify_nonce($_POST["sitepoint-postseries"], basename(__FILE__)))
</span> <span>return $post_id;
</span>
<span>if(!current_user_can("edit_post", $post_id))
</span> <span>return $post_id;
</span>
<span>if(defined("DOING_AUTOSAVE") && DOING_AUTOSAVE)
</span> <span>return $post_id;
</span>
<span>$slug = "post";
</span> <span>if($slug != $post->post_type)
</span> <span>return;
</span>
<span>$serial_number = null;
</span> <span>if(isset($_POST["sitepoint-postseries-serial-number"]))
</span> <span>{
</span> <span>$serial_number = $_POST["sitepoint-postseries-serial-number"];
</span> <span>}
</span> <span>else
</span> <span>{
</span> <span>$serial_number = "";
</span> <span>}
</span> <span>update_post_meta($post_id, "sitepoint-postseries-serial-number", $serial_number);
</span>
<span>$series_id = null;
</span> <span>if(isset($_POST["sitepoint-postseries-id"]))
</span> <span>{
</span> <span>$series_id = $_POST["sitepoint-postseries-id"];
</span> <span>}
</span> <span>else
</span> <span>{
</span> <span>$series_id = "";
</span> <span>}
</span>
<span>$previous_series_id = get_post_meta($post_id, "sitepoint-postseries-id", true);
</span>
<span>update_post_meta($post_id, "sitepoint-postseries-id", $series_id);
</span>
<span>//no series, removing series, adding new series or changing series
</span>
<span>if($previous_series_id == "" && $series_id == "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span> <span>else if($previous_series_id != "" && $series_id == "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($previous_series_id, "", $post_id);
</span> <span>}
</span> <span>else if($previous_series_id == "" && $series_id != "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span> <span>else if($previous_series_id != "" && $series_id != "")
</span> <span>{
</span> <span>sitepoint_post_series_save_settings($previous_series_id, "", $post_id);
</span> <span>sitepoint_post_series_save_settings($series_id, $serial_number, $post_id);
</span> <span>}
</span><span>}
</span>
<span>add_action("save_post", "sitepoint_post_series_save_custom_meta_box", 10, 3);</span>
ここでは、pre_get_postsフックを使用して、投稿シリーズを$ q変数に追加します。これは、メインループで投稿を表示するために使用されます。
これにより、HTML Unordered List Tagを使用して投稿が表示されます。画像のない投稿の場合、Lorempixel Cloud Serviceの画像をロードして、ランダムなテクスチャ画像を生成します。
投稿シリーズに属する投稿に投稿シリーズボックスを追加して、投稿が特定の投稿シリーズに属していることをユーザーに示すこともできます。これを行うコードは次のとおりです
<span>function sitepoint_post_series_custom_post_type()
</span><span>{
</span> <span>register_post_type("sitepoint-postseries", array(
</span> <span>"labels" => array("name" => __("Post Series"), "singular_name" => __("Post Series")),
</span> <span>"public" => true,
</span> <span>"has_archive" => true,
</span> <span>"rewrite" => array("slug"=> "post-series"),
</span> <span>"supports" => array("editor", "title", "excerpt", "thumbnail", "comments"),
</span> <span>"capability_type" => "post",
</span> <span>"publicly_queryable" => true,
</span> <span>"taxonomies" => array("category", "post_tag"),
</span> <span>)
</span> <span>);
</span><span>}
</span>
<span>add_action("init", "sitepoint_post_series_custom_post_type", 2);
</span>
<span>/* Flush Rewrite Rules */
</span>
<span>function sitepoint_post_series_activation()
</span><span>{
</span> <span>sitepoint_post_series_custom_post_type();
</span> <span>flush_rewrite_rules();
</span><span>}
</span>
<span>register_activation_hook( __FILE__, "sitepoint_post_series_activation");
</span><span>register_deactivation_hook( __FILE__, "sitepoint_post_series_activation");</span>
WP Postシリーズ:これは、整理シリーズプラグインのようにも動作します。違いの1つは、ポストシリーズページにカスタマイズを提供しないことです。
結論下のプラグインでの経験についてお気軽にコメントしてください。
ポストシリーズプラグインは、標準のWordPressカテゴリとタグとどのように異なりますか?
はい、ほとんどのポストシリーズプラグインはカスタマイズオプションを提供します。レイアウト、色、フォント、その他のデザイン要素を変更して、Webサイトの全体的な美学に合わせて変更できます。また、一部のプラグインを使用すると、より高度なカスタマイズのためにカスタムCSSを追加することもできます。
シリーズが公開された後に投稿を追加することは可能ですか?いつでもシリーズへの新しい投稿。ほとんどのポストシリーズプラグインを使用すると、シリーズを簡単に管理および更新して、コンテンツが関連性があり最新の状態を確保できます。 >
はい、Multi-Outhorサイトでポストシリーズプラグインを使用できます。複数の著者からコンテンツを管理および整理し、すべての投稿で一貫性と一貫性を確保するための優れたツールになります。 WordPressの投稿シリーズを作成するには、コーディングスキルは必要ありません。ほとんどのポストシリーズプラグインには、シリーズを簡単に作成および管理できるようにするユーザーフレンドリーなインターフェイスが付属しています。ポストシリーズプラグインは、WordPressテーマでシームレスに動作するように設計されています。ただし、プラグインのドキュメントを確認するか、確認のために開発者に連絡することをお勧めします。WordPressに利用できる無料のポストシリーズプラグインはありますか? WordPressで利用可能なプラグイン。ただし、無料のプラグインは、プレミアムプラグインほど多くの機能やサポートを提供しない場合があることに留意してください。あなたのニーズと予算に最適なプラグインを常に選択してください。
以上がWordPress用のポストシリーズプラグインを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

WordPressPluginsSisificallyScmscmScapabilitivitiationsCustomizationAndFunctionality.1)50,000を超える50,000PluginsallowuserStotailorStotailorsiteforseo、e-commerce.2)PluginsCanextEndCorefeatures、iceadding-customsttypes.3)

はい、WordPressはeコマースに非常に適しています。 1)WooCommerceプラグインを使用すると、WordPressはすぐに完全に機能的なオンラインストアになります。 2)パフォーマンスの最適化とセキュリティに注意し、キャッシュとセキュリティプラグインの定期的な更新と使用が重要です。 3)WordPressは、ユーザーエクスペリエンスを改善し、SEOを大幅に最適化するための豊富なカスタマイズオプションを提供します。

あなたのウェブサイトをyandexのウェブマスターツールに接続しますか? Google Search Console、Bing、YandexなどのWebマスターツールは、Webサイトの最適化、トラフィックの監視、robots.txtの管理、Webサイトのエラーの確認などを支援します。この記事では、WordPress WebサイトをYandex Webmasterツールに追加して、検索エンジントラフィックを監視する方法を共有します。 yandexとは何ですか? Yandexは、GoogleとBingに似たロシアに拠点を置く人気のある検索エンジンです。 Yandexで優れています

WordPressでHTTP画像アップロードエラーを修正する必要がありますか?このエラーは、WordPressでコンテンツを作成する場合、特にイライラする可能性があります。これは通常、組み込みのWordPressメディアライブラリを使用して画像またはその他のファイルをCMSにアップロードするときに発生します。この記事では、WordPressのHTTP画像アップロードエラーを簡単に修正する方法を示します。 WordPressメディアのアップロード中にHTTPエラーの理由は何ですか? WordPress Mediaアップローダーを使用してファイルをWOにアップロードしようとするとき

最近、読者の1人が、WordPressサイトの追加メディアボタンが突然機能しなくなったと報告しました。この古典的なエディターの問題には、エラーや警告が表示されないため、ユーザーが「メディアの追加」ボタンが機能しない理由を知りません。この記事では、WordPressの追加メディアボタンを簡単に修正する方法を示します。 WordPressの「メディアの追加」ボタンが動作を停止する原因は何ですか?古い古典的なWordPressエディターをまだ使用している場合、メディアの追加ボタンを使用すると、画像、ビデオなどをブログ投稿に挿入できます。

WordPress WebサイトでCookieの使用方法を知りたいですか? Cookieは、ユーザーのブラウザに一時情報を保存するための便利なツールです。この情報を使用して、パーソナライズと行動ターゲティングを通じてユーザーエクスペリエンスを強化できます。この究極のガイドでは、プロフェッショナルのようにWordPressCookiesを設定、取得、削除する方法を紹介します。注:これは高度なチュートリアルです。 HTML、CSS、WordPress Webサイト、PHPに習熟する必要があります。クッキーとは何ですか?ユーザーがWebサイトにアクセスすると、Cookieが作成および保存されます。

WordPress Webサイトに「429が多すぎるリクエスト」エラーが表示されますか?このエラーメッセージは、ユーザーがWebサイトのサーバーにHTTPリクエストを送信しすぎていることを意味します。このエラーは、エラーの原因を見つけるのが難しいため、非常にイライラする可能性があります。この記事では、「WordPress429ToomanyRequests」エラーを簡単に修正する方法を示します。 WordPress429のリクエストが多すぎるのは何ですか? 「429toomanyRequests」エラーの最も一般的な原因は、ユーザー、ボット、またはスクリプトがウェブサイトにアクセスしようとすることです

wordpresscanhandlelargewebsiteswithcarefulningandoptimization.1)usecachingtoreduceServerload.2)optimizeyourdatabaseRegularly.3)rivenceCdntodistributecontent.4)vetpluginsandmestoavoidConflicts.5)


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
