Snippet

Dodaj wsparcie dla pól niestandardowych w WordPressie z łatwością

Jak dodać pola niestandardowe w WordPressieWłącz pola niestandardowe dla niestandardowego typu wpisuWordPress dodaje wsparcie dla pól niestandardowychImplementacja pól niestandardowych bez wtyczekDodaj pola niestandardowe do wpisu WordPressSamouczek dotyczący pól niestandardowych w WordPressiePola niestandardowe nie wyświetlają się w WordPressieFunkcja pól niestandardowych w WordPressieJak używać pól niestandardowych w WordPressieRozwiązywanie problemów z polami niestandardowymi w WordPressie

Objaśnienie

Aby dodać niestandardowe pola do swoich postów, stron lub niestandardowych typów postów w WordPressie, musisz włączyć ich obsługę. Ten kod robi dokładnie to, wykorzystując funkcję add_post_type_support. Umożliwia to dodawanie niestandardowych pól do standardowych postów, stron, a nawet niestandardowych typów postów, takich jak 'produkt'.

Po dodaniu wsparcia możesz wyświetlić te niestandardowe pola w edytorze postów. Funkcja wp_dudecom_display_custom_fields tworzy pole wejściowe, w którym możesz wprowadzić dane swojego niestandardowego pola. To pole wejściowe jest dodawane do edytora za pomocą meta boxa, który jest sekcją na ekranie edycji postu.

Aby zapewnić, że dane wprowadzone w tych niestandardowych polach są zapisywane, używana jest funkcja wp_dudecom_save_custom_fields. Sprawdza ona uprawnienia i bezpieczeństwo przed zapisaniem danych w bazie danych. Dzięki temu tylko uprawnieni użytkownicy mogą wprowadzać zmiany.

Na koniec kod zawiera funkcję do ładowania wszelkich niezbędnych skryptów i stylów w obszarze administracyjnym WordPressa. Jest to przydatne, jeśli potrzebujesz ulepszyć funkcjonalność lub wygląd swoich niestandardowych pól za pomocą JavaScriptu lub CSS.

  • Włącz niestandardowe pola: Użyj add_post_type_support dla postów, stron i typów niestandardowych.
  • Wyświetl w edytorze: Dodaj pola wejściowe za pomocą meta boxów.
  • Zapisz dane: Bezpiecznie zapisuj dane niestandardowych pól z kontrolą uprawnień.
  • Ulepsz administrację: Ładuj skrypty i style w razie potrzeby.

Kod

1<?php 2// Add support for custom fields in WordPress 3 4// Hook into the 'init' action to register custom post type support for custom fields 5function wp_dudecom_add_custom_fields_support() { 6 // Add post type support for custom fields 7 add_post_type_support('post', 'custom-fields'); 8 add_post_type_support('page', 'custom-fields'); 9 10 // Example: Add custom fields support for a custom post type 'product' 11 add_post_type_support('product', 'custom-fields'); 12} 13add_action('init', 'wp_dudecom_add_custom_fields_support'); 14 15// Function to display custom fields in the post editor 16function wp_dudecom_display_custom_fields($post) { 17 // Retrieve existing custom field value 18 $custom_field_value = get_post_meta($post->ID, '_wp_dudecom_custom_field', true); 19 20 // Display the custom field input box 21 echo '<label for="wp_dudecom_custom_field">Custom Field:</label>'; 22 echo '<input type="text" id="wp_dudecom_custom_field" name="wp_dudecom_custom_field" value="' . esc_attr($custom_field_value) . '" />'; 23} 24 25// Hook to add custom fields meta box 26function wp_dudecom_add_custom_fields_meta_box() { 27 add_meta_box( 28 'wp_dudecom_custom_fields_meta_box', 29 'Custom Fields', 30 'wp_dudecom_display_custom_fields', 31 ['post', 'page', 'product'], 32 'normal', 33 'high' 34 ); 35} 36add_action('add_meta_boxes', 'wp_dudecom_add_custom_fields_meta_box'); 37 38// Save custom field data when the post is saved 39function wp_dudecom_save_custom_fields($post_id) { 40 // Check if our nonce is set. 41 if (!isset($_POST['wp_dudecom_custom_field_nonce'])) { 42 return $post_id; 43 } 44 45 // Verify that the nonce is valid. 46 if (!wp_verify_nonce($_POST['wp_dudecom_custom_field_nonce'], 'wp_dudecom_save_custom_fields')) { 47 return $post_id; 48 } 49 50 // Check if the user has permission to edit the post. 51 if (!current_user_can('edit_post', $post_id)) { 52 return $post_id; 53 } 54 55 // Sanitize and save the custom field value 56 $custom_field_value = sanitize_text_field($_POST['wp_dudecom_custom_field']); 57 update_post_meta($post_id, '_wp_dudecom_custom_field', $custom_field_value); 58} 59add_action('save_post', 'wp_dudecom_save_custom_fields'); 60 61// Enqueue scripts and styles for the admin area 62function wp_dudecom_enqueue_admin_scripts() { 63 wp_enqueue_script('wp_dudecom_admin_script', get_template_directory_uri() . '/js/wp-dudecom-admin.js', ['jquery'], null, true); 64 wp_enqueue_style('wp_dudecom_admin_style', get_template_directory_uri() . '/css/wp-dudecom-admin.css'); 65} 66add_action('admin_enqueue_scripts', 'wp_dudecom_enqueue_admin_scripts'); 67?>

Instrukcja

Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne: Upewnij się, że masz dostęp do plików swojego motywu WordPress lub możliwość stworzenia własnej wtyczki.

Kroki wdrożenia:

  1. Dostęp do plików WordPress:
    • Zaloguj się do panelu administracyjnego WordPress.
    • Przejdź do Wygląd > Edytor motywu, jeśli edytujesz functions.php, lub użyj klienta FTP, aby uzyskać dostęp do plików WordPress.
  2. Otwórz odpowiedni plik:
    • Jeśli używasz functions.php, zlokalizuj go i otwórz w edytorze.
    • Jeśli tworzysz własną wtyczkę, stwórz nowy plik PHP w katalogu wp-content/plugins.
  3. Wstaw kod:
    • Skopiuj podany fragment kodu i wklej go na końcu swojego pliku functions.php lub w pliku własnej wtyczki.
  4. Zapisz zmiany:
    • Jeśli korzystasz z edytora motywu, kliknij Aktualizuj plik.
    • Jeśli korzystasz z własnej wtyczki, upewnij się, że plik jest zapisany i aktywuj wtyczkę w panelu administracyjnym WordPress w sekcji Wtyczki.
  5. Sprawdź wsparcie dla pól niestandardowych:
    • Utwórz lub edytuj post, stronę lub niestandardowy typ postu (np. 'produkt').
    • Sprawdź, czy w ekranie edytora znajduje się meta box dla pól niestandardowych.
  6. Przetestuj funkcjonalność pól niestandardowych:
    • Wprowadź dane do pola wejściowego pól niestandardowych i zapisz post.
    • Upewnij się, że dane są zapisane i wyświetlane poprawnie po ponownym edytowaniu posta.

Jeśli potrzebujesz pomocy przy tym wdrożeniu lub wymagasz bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy w zakresie WordPress.