recherche
MaisonTutoriel CMSWordPresseGuide des panneaux d'écriture personnalisés de WordPress

WordPress 3.0 a inauguré des mises à jour significatives, y compris l'intégration de WordPress MU (permettant une gestion multi-sites) et l'introduction de types de publication personnalisés. Une fonctionnalité particulièrement utile améliorée par les types de publication personnalisés est le panneau d'écriture personnalisé.

Guide to Wordpress's Custom Write Panels

Les panneaux d'écriture personnalisés fournissent des champs de formulaire personnalisables (entrées de texte, cases à cocher, etc.) dans l'éditeur de publication, lié aux champs personnalisés. Bien que le panneau de champ personnalisé par défaut soit disponible, il peut être lourd pour la saisie approfondie de données. Les panneaux d'écriture personnalisés offrent une alternative rationalisée et visuellement attrayante.

Illustrons un type de message personnalisé "livres". Au-delà du titre et du contenu standard, nous ajouterons des champs "auteur" et "ISBN". Dans votre thème functions.php, ajoutez ce code pour enregistrer le type de publication personnalisé:

add_action( 'init', 'create_book_type' );
function create_book_type() {
  register_post_type( 'books', array(
    'labels' => array(
      'name' => __( 'Books' ),
      'singular_name' => __( 'Book' )
    ),
    'public' => true,
  ) );
}

Cela enregistre le type de message "livres". Ensuite, ajoutez ce qui suit à functions.php pour créer le panneau d'écriture personnalisé:

// Define paths (adjust as needed)
define( 'MY_WORDPRESS_FOLDER', $_SERVER['DOCUMENT_ROOT'] );
define( 'MY_THEME_FOLDER', str_replace("\",'/',dirname(__FILE__)) );
define( 'MY_THEME_PATH', '/' . substr( MY_THEME_FOLDER, stripos(MY_THEME_FOLDER,'wp-content') ) );

add_action('admin_init','book_meta_init');
function book_meta_init() {
  wp_enqueue_style( 'my_meta_css', MY_THEME_PATH . '/custom/book_panel.css' );
  add_meta_box( 'book_meta', 'Book Information', 'book_meta', 'books', 'advanced', 'high' );
}

function book_meta() {
  global $post;
  $author = get_post_meta($post->ID,'author',TRUE);
  $isbn = get_post_meta($post->ID,'isbn',TRUE);
  include(MY_THEME_FOLDER . '/custom/book_information.php');
  wp_nonce_field( __FILE__, 'my_meta_noncename' );
}

function my_meta_save($post_id) {
  if (!wp_verify_nonce( $_POST['my_meta_noncename'], __FILE__ )) return $post_id;
  if (!current_user_can('edit_post', $post_id)) return $post_id;
  $accepted_fields['books'] = array( 'author', 'isbn' );
  $post_type_id = $_POST['post_type'];
  foreach ($accepted_fields[$post_type_id] as $key) {
    $custom_field = $_POST[$key];
    if (is_null($custom_field)) delete_post_meta($post_id, $key);
    elseif (isset($custom_field) && !is_null($custom_field)) update_post_meta($post_id,$key,$custom_field);
  }
  return $post_id;
}
add_action('save_post','my_meta_save');

Créez un répertoire custom dans votre thème et ajoutez book_panel.css (pour le style) et book_information.php (pour le panneau html).

book_panel.css:

.book_panel .description { display: none; }
.book_panel label { display: block; font-weight: bold; margin: 6px; margin-bottom: 0; margin-top: 12px; }
.book_panel label span { display: inline; font-weight: normal; }
.book_panel span { color: #999; display: block; }
.book_panel textarea, .book_panel input[type='text'] { margin-bottom: 3px; width: 100%; }
.book_panel h4 { color: #999; font-size: 1em; margin: 15px 6px; text-transform:uppercase; }

book_information.php:

<div class="book_panel">
  <h4 id="Book-Details">Book Details</h4>
  <label for="author">Author <span>(Required)</span></label>
  <input type="text" name="author" id="author" value="<?php echo esc_attr( $author ); ?>" /><br/>
  <label for="isbn">ISBN <span>(Required)</span></label>
  <input type="text" name="isbn" id="isbn" value="<?php echo esc_attr( $isbn ); ?>" />
</div>

Enfin, pour afficher les champs personnalisés de votre thème, utilisez get_post_meta() dans votre boucle:

$loop = new WP_Query( array( 'post_type' => 'books', 'posts_per_page' => 10 ) );
while ($loop->have_posts()) : $loop->the_post();
  the_title();
  the_content();
  echo 'Author: ' . get_post_meta(get_the_ID(), "author", true);
  echo 'ISBN: ' . get_post_meta(get_the_ID(), "isbn", true);
endwhile;

Ceci termine la configuration. N'oubliez pas d'ajuster les chemins du code pour correspondre à la structure de votre thème. Pour plus de connaissances WordPress plus approfondies, considérons notre publication: "Construisez vos propres thèmes WordPress méchants."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Les 5 meilleurs IDE pour le développement WordPress (et pourquoi)Les 5 meilleurs IDE pour le développement WordPress (et pourquoi)Mar 03, 2025 am 10:53 AM

Choisir le bon environnement de développement intégré (IDE) pour le développement WordPress Depuis dix ans, j'ai exploré de nombreux environnements de développement intégrés (IDE) pour le développement WordPress. La variété pure - gratuite à commerciale, basique à FEA

Créer des plugins WordPress avec des techniques OOPCréer des plugins WordPress avec des techniques OOPMar 06, 2025 am 10:30 AM

Ce didacticiel montre la construction d'un plugin WordPress à l'aide de principes de programmation orientée objet (OOP), tirant parti de l'API Dribbble. Affinons le texte pour plus de clarté et de concision tout en préservant la signification et la structure d'origine. Objet-ori

Comment transmettre des données PHP et des chaînes à JavaScript dans WordPressComment transmettre des données PHP et des chaînes à JavaScript dans WordPressMar 07, 2025 am 09:28 AM

Meilleures pratiques pour passer des données PHP à JavaScript: une comparaison de WP_localize_script et WP_ADD_INLINE_Script Le stockage des données dans les chaînes statiques dans vos fichiers PHP est une pratique recommandée. Si ces données sont nécessaires dans votre code JavaScript, incorporez

Comment intégrer et protéger les fichiers PDF avec un plugin WordPressComment intégrer et protéger les fichiers PDF avec un plugin WordPressMar 09, 2025 am 11:08 AM

Ce guide montre comment intégrer et protéger les fichiers PDF dans les articles et pages WordPress à l'aide d'un plugin PDF WordPress. Les PDF offrent un format convivial et universellement accessible pour divers contenus, des catalogues aux présentations. Cette méthode Ens

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire