Jak dodać domyślną zawartość do niestandardowego edytora typów postów

Opublikowany: 2022-01-29

Jak dodać domyślną zawartość do niestandardowego edytora typów postów W ostatnich dwóch samouczkach dotyczących dodawania treści do posta lub strony WordPress szczegółowo opisaliśmy, jak dodawać treści poprzez zmianę funkcji the_content za pomocą filtra. Pokazaliśmy, jak można dodawać treści przed lub po treści posta WordPress. W drugim samouczku mówiliśmy o dodawaniu domyślnej zawartości do edytora WordPress.

W informacjach zwrotnych, które otrzymałem z tych dwóch postów – jak dodać domyślną treść do edytora WordPress i jak dodać treść po treści posta w WordPressie ; częstym pytaniem było, jak dodać domyślną treść do edytora WordPress w niestandardowym typie posta.

Dodaj domyślną zawartość do niestandardowego edytora typów postów

W tym poście chcę zmodyfikować filtr, którego użyliśmy w tym poście, aby dodać domyślną zawartość w edytorze WordPress, aby użyć tego samego w niestandardowym typie postu. Tak więc celem tego samouczka jest pokazanie, jak dodać domyślną treść w niestandardowym edytorze typu postów.

Jeśli nie korzystałeś z niestandardowych typów postów WordPress , są one w zasadzie jak domyślne strony lub posty, ale tworzysz je samodzielnie.

Możesz je stworzyć, dodając ten kod (poniżej) do pliku functions.php w motywie WordPressa, jest też fajny samouczek, zilustrowałem, jak stworzyć niestandardowy typ posta bez użycia wtyczki , który możesz łatwo śledzić krok po kroku.

 //Njengah Tutorial Przykład niestandardowego typu posta 

  //Hak 

	add_action('init', "njengah_tutorial_cpt");
  
  //Funkcja oddzwaniania

	funkcja njengah_tutorial_cpt(){
		
		$etykiety = tablica(
				'name' => _x('tutoriale', 'nazwa ogólna typu posta'),
				'singular_name' => _x('tutorial', 'post type singular name'),
				'menu_name' => _x('samouczki', 'menu administratora'),
				'name_admin_bar' => _x('tutorial', 'dodaj nowy na pasku administracyjnym'),
				'add_new' => _x('Dodaj nowy', ''),
				'add_new_item' => __('Dodaj nowy samouczek'),
				'edit_item' => __('Edytuj samouczek'),
				'new_item' => __('Nowy samouczek'),
				'all_items' => __('Wszystkie tutoriale'),
				'view_item' => __('Wyświetl samouczek'),
				'search_items' => __('Wyszukiwanie samouczków'),
				'not_found' => __('Nie znaleziono tutoriali'),
				'not_found_in_trash' => __('Nie znaleziono samouczków w Koszu'), 
				'parent_item_colon' => __('Samouczki dla rodziców:'),
				
		);

			$argumenty = tablica(
				'hierarchiczny' => prawda,     
				'etykiety' => $etykiety,
				'publiczny' => prawda,
				'publicly_queryable' => prawda,  
				'opis' => __('Opis.'),
				'show_ui' => prawda, 
				'show_in_menu' => prawda,
				'show_in_nav_menus' => prawda,			
				'query_var' => prawda,
				'przepisz' => prawda,
				'query_var' => prawda,
				'rewrite' => array('slug' => 'tutorial'),
				'capability_type' => 'strona',
				'has_archive' => prawda, 
				'pozycja_menu' => 22,
				"show_in_rest" => prawda,
				'supports' => array( 'tytuł', 'redaktor', 'autor', 'miniaturka', 'poprawki', 'atrybuty-stron', 'niestandardowe-pola' )
			); 

			register_post_type('samouczek', $args);
		
		
	}

Gdy masz gotowy niestandardowy typ posta, musisz pobrać kod, który dodaliśmy w poprzednim samouczku do pliku funkcji, aby dodać domyślną treść do edytora postów WordPress.

Kod składał się z filtra, a funkcja callback zawierała treść, którą musieliśmy dodać do edytora WordPress. Kod wyglądał następująco:

 add_filter('the_content', 'add_content_after');

funkcja add_content_after($zawartość) {

     $after_content = “Przykład naszej polityki komentarzy po treści posta”;
 
     $pełna treść = $zawartość . $po_treści;

     zwróć $pełną treść;

}

Podsumowanie krok po kroku

W krótkim podsumowaniu kroków dodamy domyślną treść do niestandardowego edytora typu postów, wykonując następujące trzy kroki

  1. Utwórz zaczep filtra, aby filtrować default_content i odpowiednią funkcję wywołania zwrotnego z domyślną treścią, którą chcesz dodać do niestandardowego edytora postów.
  2. Określ, czy jesteś w niestandardowym typie wiadomości, dodając instrukcję warunkową if/else w funkcji wywołania zwrotnego, aby sprawdzić PRAWDA/FAŁSZ
  3. Jeśli korzystasz z niestandardowego typu postu, dodaj treść, jeśli w innych postach, takich jak strona, post i inne niestandardowe typy postów; zwróć zawartość bez dodatkowej zawartości.

Jak dodać domyślną zawartość do edytora typu postu

W następnym kroku musimy dowiedzieć się wewnątrz funkcji callback, czy jesteśmy na ekranie typu custom post, a jeśli nie, nie dodamy treści.

Idealnie więc użyjemy warunku logicznego, aby określić, czy jesteśmy na określonym niestandardowym typie posta, a jeśli tak, dodamy domyślną treść do edytora, a jeśli teraz zwrócimy domyślną funkcję the_content bez dodatkowej treści.

Jak sprawdzić, czy jest to niestandardowy typ postu?
Możesz sprawdzić, czy korzystasz z niestandardowego typu postu, używając następującego oświadczenia warunkowego:

 $aktualnyID = get_the_ID();

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

    // to zrób swoje rzeczy tutaj 

}

Możesz również użyć globalnego obiektu post w funkcji zwrotnej kodu, który udostępniliśmy wcześniej i powinno wyglądać następująco:

 function add_default_content_to_cpt( $treść, $post ) {

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

                  // to zrób swoje rzeczy tutaj
     }

}

Fragment kodu, aby dodać domyślną zawartość do niestandardowego edytora typów postów

Teraz cały kod dodawania domyślnej treści do niestandardowego edytora typu postów powinien zawierać filtr i funkcję wywołania zwrotnego w następujący sposób:

 add_filter( 'domyślna_zawartość', 'dodaj_domyślna_zawartość_do_cpt', 10, 2 );

function add_default_content_to_cpt( $treść, $post ) {


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


        // Treść do dodania do niestandardowego edytora typu postów 

        $new_content = 'Zaloguj się, aby zostawić komentarz! Spam nie jest dozwolony, Wielki Kahuna obserwuje !';

            $pełna treść = $zawartość . $nowa_treść;

               zwróć $pełną treść;

     	}

           zwróć $treść; 

}

Należy zastąpić niestandardowy-post-type-slug odpowiednią informację, która jest dodawana podczas rejestrowania niestandardowego typu posta.

Po dodaniu tego kodu w pliku funkcji lub wtyczce, powinieneś zobaczyć zawartość dodaną do niestandardowego typu postu, ale nie powinna być widoczna w innych edytorach postów, jak pokazano na poniższym obrazku:

Dodaj domyślną zawartość do niestandardowego edytora typów postów

Zawijanie

Możesz dodać domyślną treść do niestandardowego edytora postów, dodając filtr, a w funkcji zwrotnej sprawdzasz, czy jest to niestandardowy typ posta z instrukcją warunkową (if/else lub Switch Statement), jeśli nie, po prostu wyświetlasz normalną treść posta bez instrukcji dodana treść. Jest to przydatna wskazówka dla programisty WordPress lub witryny, która chce dodać treść poniżej niestandardowego typu posta w bieżącym motywie.

Podobne artykuły

  1. Jak usunąć został dodany do koszyka Wiadomość WooCommerce