Maison >Tutoriel CMS >WordPresse >Comment développer un plugin WordPress qui génère automatiquement des listes de tâches

Comment développer un plugin WordPress qui génère automatiquement des listes de tâches

王林
王林original
2023-09-06 12:43:441376parcourir

Comment développer un plugin WordPress qui génère automatiquement des listes de tâches

Comment développer un plugin WordPress qui génère automatiquement des listes de tâches

WordPress est un système de gestion de contenu très populaire avec un large éventail de fonctionnalités et un système de plugins flexible qui peut répondre à une variété de besoins différents. Parfois, nous pouvons avoir besoin d’une liste de tâches pour gérer notre flux de travail. À l’heure actuelle, un plug-in WordPress qui génère automatiquement des listes de tâches est très utile. Cet article décrit comment développer un tel plug-in et fournit des exemples de code.

Tout d'abord, nous devons créer un nouveau plugin. Vous pouvez créer un nouveau dossier dans le répertoire du plugin WordPress et le nommer liste de tâches. Ensuite, créez un fichier task-list.php dans ce dossier et entrez le code suivant dans le fichier : task-list。然后,在该文件夹中创建一个task-list.php文件,在该文件中输入以下代码:

<?php
/*
Plugin Name: Task List
Version: 1.0
Description: 自动生成任务列表的插件
Author: Your Name
Author URI: https://your-website.com
License: GPL2
*/

// 注册一个新的短代码
function task_list_shortcode($atts) {
    // 获取默认参数
    $atts = shortcode_atts(array(
        'category' => '',
    ), $atts);
    
    // 获取任务列表
    $tasks = get_tasks($atts['category']);

    // 创建任务列表的HTML
    $output = '<ul>';
    foreach ($tasks as $task) {
        $output .= '<li>' . $task['name'] . '</li>';
    }
    $output .= '</ul>';

    return $output;
}
add_shortcode('task_list', 'task_list_shortcode');

// 获取任务列表的函数
function get_tasks($category) {
    // 通过分类获取任务列表
    $args = array(
        'post_type' => 'task',
        'tax_query' => array(
            array(
                'taxonomy' => 'task_category',
                'field' => 'slug',
                'terms' => $category,
            ),
        ),
    );
    $query = new WP_Query($args);

    // 存储任务列表
    $tasks = array();
    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            $tasks[] = array(
                'name' => get_the_title(),
                'category' => $category,
            );
        }
    }

    wp_reset_postdata();

    return $tasks;
}

以上代码创建了一个名为Task List的插件。该插件注册了一个新的短代码[task_list],当用户在文章或页面中使用该短代码时,将调用task_list_shortcode函数生成任务列表的HTML。task_list_shortcode函数通过调用get_tasks函数获取任务列表,并使用foreach循环遍历每个任务,并添加到一个HTML列表中。最后,返回任务列表的HTML。

要实现任务列表的自动生成,我们需要创建一个自定义的task(任务)文章类型,并为其创建一个分类法task_category(任务分类),可以在插件文件夹中创建一个名为includes的新文件夹,并在该文件夹中创建tasks.php文件,并输入以下代码:

<?php
// 创建自定义的任务类型
function create_task_type() {
    register_post_type('task', array(
        'labels' => array(
            'name' => '任务',
            'singular_name' => '任务',
        ),
        'public' => true,
        'has_archive' => true,
        'supports' => array('title'),
        'rewrite' => array('slug' => 'tasks'),
    ));
}
add_action('init', 'create_task_type');

// 创建自定义的任务分类
function create_task_category() {
    register_taxonomy('task_category', 'task', array(
        'labels' => array(
            'name' => '任务分类',
            'singular_name' => '任务分类',
        ),
        'hierarchical' => true,
        'rewrite' => array('slug' => 'task-category'),
    ));
}
add_action('init', 'create_task_category');

以上代码创建了一个自定义的task(任务)文章类型,并为其创建了一个分类法task_category(任务分类)。我们使用register_post_type函数创建task类型,并定义了一些基本的属性,例如名称、支持的功能等。然后,我们使用register_taxonomy函数创建了task_category(任务分类),该分类法具有层次化结构,并定义了其名称和重写规则。

完成以上代码后,我们需要在插件的主文件task-list.php中加载includes/tasks.php文件。在task-list.php文件中找到以下代码:

/*
Plugin Name: Task List
...
*/

// 注册一个新的短代码
...
add_shortcode('task_list', 'task_list_shortcode');

// 加载任务文件
require_once(plugin_dir_path(__FILE__) . 'includes/tasks.php');

在上面的代码中,添加了一个require_once函数,用于加载includes/tasks.php文件。

完成以上步骤后,我们可以在WordPress中启用Task List插件,并在文章或页面中使用[task_list]短代码,就可以自动生成任务列表了。如果需要按照任务分类显示任务列表,可以使用category参数,例如[task_list category="important"]rrreee

Le code ci-dessus crée un fichier appelé Task List plug- dans. Le plugin enregistre un nouveau shortcode [task_list] Lorsque l'utilisateur utilise le shortcode dans un article ou une page, la fonction task_list_shortcode sera appelée pour générer le HTML de la liste des tâches. . La fonction task_list_shortcode obtient la liste des tâches en appelant la fonction get_tasks et utilise foreach pour parcourir chaque tâche et l'ajouter à une liste HTML. Enfin, le HTML de la liste des tâches est renvoyé.

Pour réaliser la génération automatique de listes de tâches, nous devons créer un type d'article task (tâche) personnalisé et créer une taxonomie task_category (classification des tâches) pour cela, vous pouvez créez un nouveau dossier nommé includes dans le dossier du plugin, créez le fichier tasks.php dans ce dossier et entrez le code suivant : 🎜rrreee 🎜Le code ci-dessus crée un fichier personnalisé Type d'article task (tâche) et crée une taxonomie task_category (classification des tâches) pour celui-ci. Nous utilisons la fonction register_post_type pour créer le type task et définir certains attributs de base, tels que le nom, les fonctions prises en charge, etc. Nous utilisons ensuite la fonction register_taxonomy pour créer une task_category qui a une structure hiérarchique et définit son nom et ses règles de réécriture. 🎜🎜Après avoir terminé le code ci-dessus, nous devons charger le fichier includes/tasks.php dans le fichier principal du plug-in task-list.php. Recherchez le code suivant dans le fichier task-list.php : 🎜rrreee🎜Dans le code ci-dessus, une fonction require_once est ajoutée pour charger includes/tasks .php fichiers. 🎜🎜Après avoir terminé les étapes ci-dessus, nous pouvons activer le plugin Task List dans WordPress et utiliser le shortcode [task_list] dans les articles ou les pages pour générer automatiquement une liste de tâches. Si vous devez afficher la liste des tâches en fonction des catégories de tâches, vous pouvez utiliser le paramètre category, tel que [task_list Category="important"]. 🎜🎜Grâce aux étapes de cet article, nous avons développé avec succès un plugin WordPress qui génère automatiquement des listes de tâches. Ce plug-in peut facilement nous aider à gérer notre flux de travail et à améliorer l'efficacité du travail. J'espère que cet article vous sera utile pour développer des plugins WordPress. Bon développement ! 🎜

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