Crear un plugin personalizado para WordPress

Tiempo de lectura: 2 minutos

Hola, hoy vamos a aprender cómo podemos crear un plugin personalizado para WordPress.

Paso 1: Crea la Estructura de Carpetas y Archivos

Dentro de la carpeta wp-content/plugins/, crea una nueva carpeta para tu plugin, por ejemplo, custom-footer-message. Dentro de esta carpeta, crea dos archivos: custom-footer-message.php (archivo principal del plugin) y settings.php (para la configuración).

Paso 2: Archivo Principal (wp_head.php)

<?php
/*
Plugin Name: Custom Auto-Description Plugin
Description: A plugin to add custom Description to the post generated by the Auto Description plugin using the post text.
Version: 1.0
Author: ismaDev
*/

require_once(plugin_dir_path(__FILE__) . 'functions.php');
require_once(plugin_dir_path(__FILE__) . 'settings.php');

function custom_description_plugin_settings_link( $links ) {
    $settings_link = '<a href="' . admin_url('options-general.php?page=custom-description-plugin-settings') . '">' . __('Settings') . '</a>';
    array_push( $links, $settings_link );
    return $links;
}

$plugin_basename = plugin_basename(__FILE__);

add_filter("plugin_action_links_$plugin_basename", 'custom_description_plugin_settings_link');

add_action('wp_head', 'add_custom_description');
add_action('admin_menu', 'custom_description_plugin_menu');
add_action('admin_init', 'custom_description_plugin_settings_init');

Recuerda modificar el nombre del plugin, la descripción y el author.

Paso 3: Archivo de Funciones (functions.php)

<?php
function add_custom_description()
{
    $post_id = get_the_ID();
    $description = get_post_meta($post_id, 'description', true);

    if (is_home()) {
        $default_description = get_option('custom_description_default', '');
        echo '<meta name="description" content="' . esc_attr($default_description) . '">';
    } else {
        if ($description) {
            echo '<meta name="description" content="' . esc_attr($description) . '">';
        } else {
            generate_descripcion();
        }
    }
}

function generate_descripcion()
{
    $title = get_the_title();
    echo '<meta name="description" content="Resumen y noticias de ' . $title . '" />';
}

Paso 4: Archivo de Configuración (settings.php)

<?php
function custom_description_plugin_menu() {
    add_options_page(
        'Configuración de Custom Description',
        'Descripción por defecto',
        'manage_options',
        'custom-description-plugin-settings',
        'custom_description_plugin_settings_page'
    );
}

function custom_description_plugin_settings_page() {
    ?>
    <div class="wrap">
        <h1>Configuración de Custom Description</h1>
        <form method="post" action="options.php">
            <?php settings_fields('custom_description_plugin_settings'); ?>
            <?php do_settings_sections('custom_description_plugin_settings'); ?>
            <table class="form-table">
                <tr>
                    <th scope="row">Descripción para página de inicio (home)</th>
                    <td>
                        <input type="text" name="custom_description_default" value="<?php echo esc_attr(get_option('custom_description_default', '')); ?>" />
                    </td>
                </tr>
            </table>
            <?php submit_button(); ?>
        </form>
    </div>
    <?php
}

function custom_description_plugin_settings_init() {
    register_setting('custom_description_plugin_settings', 'custom_description_default');
}

Paso 4: Activar el Plugin

  1. Inicia sesión en tu panel de administración de WordPress.
  2. Ve a la sección «Plugins» y activa el plugin llamado «Custom Footer Message».
  3. Pulsa en ajustes y cambia el contenido del footer para que lo añada.

Paso 5: Verificar el Resultado

Después de activar el plugin, deberías ver un mensaje personalizado en el pie de página de tu sitio web.

Este es un ejemplo muy básico, pero puedes expandirlo según tus necesidades. Puedes agregar opciones de configuración, mejorar el estilo del mensaje, o incluso integrar funciones más complejas. Recuerda revisar la documentación oficial de WordPress para obtener más información sobre el desarrollo de plugins: WordPress Plugin Developer Handbook.

Deja un comentario