Développement d’un plugin WordPress

Développement d’un plugin WordPress

Etape 1 :

On crée un dossier dans notre répertoire wp-content/plugins/

Nom du dossier par exemple : liste-portfolios

Maintenant on va créer un fichier portfolio-list.php

<?php
/**
* Plugin Name: Liste des portfolio
* Plugin URI: https://www.NOM_DU_VOTRE_SITE.com/
* Description: Une petite description du votre plugin.
* Version: 1.0
* Author: Kadri Hamza
* Author URI: http://SITE_WEB_DU_PLUGIN.com/
**/

 

=> Cette partie est obligatoire dans chaque plugin WordPress

Etape 2 :

La Création d’une fonction qui contient le post-type , Taxonomy , l’affichage dans le menu du back-office , l’icone , les labels , et les autres paramètres du notre plugin

function register_cpt_portfolio_p() {
 
    $labels = array(
        'name' => _x( 'Portfolio', 'portfolio_p' ),
        'singular_name' => _x( 'Portfolio Review', 'portfolio_p' ),
        'add_new' => _x( 'Add New', 'portfolio_p' ),
        'add_new_item' => _x( 'Add New Music', 'portfolio_p' ),
        'edit_item' => _x( 'Edit Portfolio', 'portfolio_p' ),
        'new_item' => _x( 'New Portfolio', 'portfolio_p' ),
        'view_item' => _x( 'View Portfolio', 'portfolio_p' ),
        'search_items' => _x( 'Search Portfolio', 'portfolio_p' ),
        'not_found' => _x( 'No Portfolio found', 'portfolio_p' ),
        'not_found_in_trash' => _x( 'No Portfolio found in Trash', 'portfolio_p' ),
        'parent_item_colon' => _x( 'Parent Portfolio:', 'portfolio_p' ),
        'menu_name' => _x( 'Portfolio', 'portfolio_p' ),
    );
 
    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
        'description' => 'Portfolio',
        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes' ),
        'taxonomies' => array( 'category' ),
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'menu_position' => 5,
        'menu_icon' => 'dashicons dashicons-star-empty',
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );
 
    register_post_type( 'portfolio_p', $args );
}
 
add_action( 'init', 'register_cpt_portfolio_p' );

function category_taxonomy() {
    register_taxonomy(
        'category',
        'portfolio_p',
        array(
            'hierarchical' => true,
            'label' => 'Catégories',
            'query_var' => true,
            'rewrite' => array(
                'slug' => 'category',
                'with_front' => false
            )
        )
    );
}
add_action( 'init', 'category_taxonomy');

 

Liste des icones en WordPress : cliquer ici

Etape 3 :

Il faut maintenant activer notre plugin dans la partie plugins dans le back-office.

Etape 4 :

On a plusieurs manières de l’afficher dans le front , par exemple on crée un shortcode qui contient la liste des portfolios et on l’utilise après.

=> Si vous avez rencontrez un erreur de 404 lors de l’affichage du votre portfolio , il faut juste mettre à jour le permaliens situé dans réglages/