如何將默認內容添加到自定義帖子類型編輯器

已發表: 2022-01-29

如何將默認內容添加到自定義帖子類型編輯器 在上兩個關於向 WordPress 帖子或頁面添加內容的教程中,我們全面介紹瞭如何通過使用過濾器更改the_content 函數來添加內容。 我們演示瞭如何在 WordPress 帖子內容之前或之後添加內容。 在第二個教程中,我們討論了向 WordPress 編輯器添加默認內容。

在我從這兩個帖子中收到的反饋中——如何將默認內容添加到 WordPress 編輯器以及如何在 WordPress 中發佈內容之後添加內容; 常見的問題是如何在自定義帖子類型中將默認內容添加到 WordPress 編輯器。

將默認內容添加到自定義帖子類型編輯器

在這篇文章中,我想修改我們在這篇文章中使用的過濾器,以便在 WordPress 編輯器上添加默認內容,以便我們在自定義帖子類型上使用相同的內容。 因此,本教程的目的是向您展示如何在自定義帖子類型編輯器中添加默認內容。

如果您沒有使用過WordPress 自定義帖子類型,它們基本上就像默認頁面或帖子,但您自己創建它們。

您可以通過將此代碼(如下)添加到您的 WordPress 主題中的 functions.php 文件來創建它們,並且還有一個很好的教程,我說明瞭如何在不使用插件的情況下創建自定義帖子類型,您可以輕鬆地逐步遵循。

 //Njengah 教程自定義帖子類型示例 

  //鉤 

	add_action('init', "njengah_tutorial_cpt");
  
  //回調函數

	函數 njengah_tutorial_cpt(){
		
		$標籤=數組(
				'name' => _x('tutorials', 'post type general name'),
				'singular_name' => _x('tutorial', 'post type single name'),
				'menu_name' => _x('tutorials', 'admin menu'),
				'name_admin_bar' => _x('tutorial', 'add new on admin bar'),
				'add_new' => _x('新增', ''),
				'add_new_item' => __('添加新教程'),
				'edit_item' => __('編輯教程'),
				'new_item' => __('新教程'),
				'all_items' => __('所有教程'),
				'view_item' => __('查看教程'),
				'search_items' => __('搜索教程'),
				'not_found' => __('沒有找到教程'),
				'not_found_in_trash' => __('沒有在垃圾箱中找到教程'), 
				'parent_item_colon' => __('家長教程:'),
				
		);

			$args = 數組(
				'分層' => 真的,     
				'標籤' => $標籤,
				'公共' => 真的,
				'publicly_queryable' => 真,  
				'描述' => __('描述'),
				'show_ui' => 真, 
				'show_in_menu' => 真,
				'show_in_nav_menus' => 真,			
				'query_var' => 真,
				'重寫' => 真的,
				'query_var' => 真,
				'rewrite' => array('slug' => 'tutorial'),
				'capability_type' => '頁面',
				'has_archive' => 真, 
				'menu_position' => 22,
				“show_in_rest” => 真,
				'supports' => array('title', 'editor', 'author', 'thumbnail', 'revisions', 'page-attributes', 'custom-fields' )
			); 

			register_post_type('tutorial', $args);
		
		
	}

當您準備好自定義帖子類型後,您需要將我們在上一教程中添加的代碼添加到函數文件中,以將默認內容添加到 WordPress 帖子編輯器。

該代碼由一個過濾器和回調函數組成,其中包含我們需要添加到 WordPress 編輯器的內容。 代碼如下:

 add_filter('the_content', 'add_content_after');

函數 add_content_after($content) {

     $after_content = “發佈內容後我們的評論政策示例”;
 
     $完整內容 = $內容。 $after_content;

     返回 $fullcontent;

}

分步總結

在步驟的快速總結中,我們將通過以下三個步驟將默認內容添加到自定義帖子類型編輯器

  1. 創建一個過濾器鉤子來過濾 default_content 和相應的回調函數,其中包含要添加到自定義帖子編輯器的默認內容。
  2. 通過在回調函數中添加 if/else 條件語句來檢查是否為 TRUE/FALSE 來確定您是否屬於自定義帖子類型
  3. 如果您在自定義帖子類型上,請在頁面、帖子和其他自定義帖子類型等其他帖子上添加內容; 返回沒有附加內容的內容。

如何將默認內容添加到帖子類型編輯器

在下一步中,我們需要在回調函數內部找出我們是否在自定義帖子類型屏幕中,如果不是,我們將不添加內容。

因此,理想情況下,我們將使用邏輯條件來確定我們是否在特定的自定義帖子類型上,如果是,我們將默認內容添加到編輯器,如果現在我們返回默認的 the_content 函數而不添加其他內容。

如何檢查它是否是自定義帖子類型
您可以使用以下條件語句檢查您是否使用自定義帖子類型:

 $currentID = get_the_ID();

if (get_post_type($currentID) == "custom-post-type-slug" ){

    // 然後在這裡做你的事情 

}

也可以在我們之前分享的代碼的回調函數中使用全局post對象,應該如下:

 函數 add_default_content_to_cpt( $content, $post ) {

     if($post->post_type == 'custom-post-type-slug '

                  // 然後在這裡做你的事情
     }

}

將默認內容添加到自定義帖子類型編輯器的代碼片段

現在將默認內容添加到自定義帖子類型編輯器的完整代碼應該具有過濾器和回調函數,如下所示:

 add_filter('default_content', 'add_default_content_to_cpt', 10, 2);

函數 add_default_content_to_cpt( $content, $post ) {


     if($post->post_type == 'custom-post-type-slug'){


        // 添加到自定義帖子類型編輯器的內容 

        $new_content = '請登錄後發表評論! 不允許垃圾郵件,Big Kahuna 正在觀看!';

            $完整內容 = $內容。 $新內容;

               返回 $fullcontent;

     	}

           返回$內容; 

}

您應該將 custom-post-type-slug 替換為您在註冊自定義帖子類型時添加的相應 slug。

當您在函數文件或插件中添加此代碼時,您應該會看到添加到自定義帖子類型的內容,但不應在其他後期編輯器中看到,如下圖所示:

將默認內容添加到自定義帖子類型編輯器

包起來

您可以通過添加過濾器將默認內容添加到自定義帖子編輯器,並在回調函數中檢查它是否是帶有條件語句(if/else 或 Switch 語句)的自定義帖子類型,如果不是,您只顯示沒有添加的內容。 對於想要在當前主題中的自定義帖子類型下方添加內容的 WordPress 開發人員或網站,這是一個有用的提示。

類似文章

  1. 如何刪除已添加到您的購物車消息 WooCommerce