Rumah  >  Artikel  >  Tutorial CMS  >  Bagaimana untuk membangunkan pemalam WordPress yang menjana galeri imej secara automatik

Bagaimana untuk membangunkan pemalam WordPress yang menjana galeri imej secara automatik

PHPz
PHPzasal
2023-09-05 11:54:21672semak imbas

Bagaimana untuk membangunkan pemalam WordPress yang menjana galeri imej secara automatik

Cara membangunkan pemalam WordPress yang menjana perpustakaan gambar secara automatik

Dengan perkembangan Internet mudah alih, gambar telah menjadi medium biasa untuk kami menyatakan dan menghantar maklumat dalam talian. Dalam proses penubuhan dan penyelenggaraan blog peribadi, kami biasanya memerlukan perpustakaan gambar untuk mengurus dan memaparkan sumber gambar kami. Untuk memudahkan penggunaan pengguna blog WordPress, artikel ini akan memperkenalkan cara membangunkan pemalam WordPress yang menjana perpustakaan imej secara automatik, dan memberikan contoh kod.

Pertama, kita perlu mencipta infrastruktur pemalam WordPress. Dalam direktori pemalam WordPress anda, buat folder baharu dan buat fail utama pemalam di dalamnya, bernama image-library.php. Dalam fail utama, kita perlu menentukan maklumat asas dan fungsi permulaan pemalam. image-library.php。在主文件中,我们需要定义插件的基本信息和初始化函数。

<?php
/*
Plugin Name: 图片库
Plugin URI: https://www.example.com
Description: 一个自动生成图片库的WordPress插件
Version: 1.0
Author: Your Name
Author URI: https://www.example.com
License: GPL2
*/

// 初始化插件
function image_library_init() {
    // 在这里添加插件的初始化逻辑
}
add_action('init', 'image_library_init');

接下来,我们需要添加一个自定义数据库表来存储图片信息。为了简化开发过程,我们使用WordPress自带的wpdb类来执行数据库操作。

// 创建数据库表
function image_library_create_table() {
    global $wpdb;

    $table_name = $wpdb->prefix . 'image_library'; // 添加表前缀
    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        title text NOT NULL,
        file_url text NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";

    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    dbDelta( $sql ); // 创建表
}
register_activation_hook( __FILE__, 'image_library_create_table' );

接下来,我们需要在WordPress后台添加一个菜单项,让用户可以进入图片库管理界面。可以使用add_menu_page函数来实现这一功能。

// 添加菜单项
function image_library_add_menu() {
    add_menu_page(
        '图片库',
        '图片库',
        'manage_options',
        'image-library',
        'image_library_menu',
        'dashicons-format-gallery',
        25
    );
}
add_action('admin_menu', 'image_library_add_menu');

然后,我们需要创建菜单对应的界面。在这个界面中,我们可以展示所有图片的列表,并提供上传和删除图片的功能。

// 图片库管理界面
function image_library_menu() {
    if (!current_user_can('manage_options')) {
        wp_die(__('您没有权限访问该页面。'));
    }

    // 添加上传图片逻辑
    if (isset($_POST['submit'])) {
        $title = sanitize_text_field($_POST['title']);
        $file_url = sanitize_text_field($_POST['file_url']);

        global $wpdb;
        $table_name = $wpdb->prefix . 'image_library';
        $wpdb->insert($table_name, array('title' => $title, 'file_url' => $file_url));

        echo '<div class="notice notice-success"><p>图片上传成功!</p></div>';
    }

    // 添加删除图片逻辑
    if (isset($_GET['delete']) && isset($_GET['nonce'])) {
        if (!wp_verify_nonce($_GET['nonce'], 'delete_image')) {
            wp_die(__('非法请求。'));
        }

        $id = intval($_GET['delete']);

        global $wpdb;
        $table_name = $wpdb->prefix . 'image_library';
        $wpdb->delete($table_name, array('id' => $id));

        echo '<div class="notice notice-success"><p>图片删除成功!</p></div>';
    }

    // 展示图片列表
    global $wpdb;
    $table_name = $wpdb->prefix . 'image_library';
    $images = $wpdb->get_results("SELECT * FROM $table_name");

    echo '<div class="wrap">';
    echo '<h1>图片库管理</h1>';

    echo '<form method="post">';
    echo '<table class="wp-list-table widefat fixed striped">';
    echo '<thead><tr><th>标题</th><th>图片链接</th><th>操作</th></tr></thead>';
    echo '<tbody>';
    foreach ($images as $image) {
        echo '<tr>';
        echo '<td>' . $image->title . '</td>';
        echo '<td><a href="' . $image->file_url . '">' . $image->file_url . '</a></td>';
        echo '<td><a href="?page=image-library&delete=' . $image->id . '&nonce=' . wp_create_nonce('delete_image') . '">删除</a></td>';
        echo '</tr>';
    }
    echo '</tbody>';
    echo '</table>';

    echo '<h2>上传图片</h2>';
    echo '<label>标题:<input type="text" name="title" required></label><br>';
    echo '<label>图片链接:<input type="text" name="file_url" required></label><br>';
    echo '<input type="submit" name="submit" value="上传">';
    echo '</form>';

    echo '</div>';
}

最后,我们需要为图片库添加一个短代码,以便在文章或页面中嵌入图片。

// 图片库短代码
function image_library_shortcode($atts) {
    ob_start();
    global $wpdb;
    $table_name = $wpdb->prefix . 'image_library';
    $images = $wpdb->get_results("SELECT * FROM $table_name");

    echo '<div class="image-library">';
    foreach ($images as $image) {
        echo '<div class="image-item">';
        echo '<h3>' . $image->title . '</h3>';
        echo '<img  src="' . $image- alt="Bagaimana untuk membangunkan pemalam WordPress yang menjana galeri imej secara automatik" >file_url . '">';
        echo '</div>';
    }
    echo '</div>';

    return ob_get_clean();
}
add_shortcode('image-library', 'image_library_shortcode');

现在,我们已经完成了自动生成图片库的WordPress插件开发。你可以将以上代码保存到插件主文件image-library.phprrreee

Seterusnya, kita perlu menambah jadual pangkalan data tersuai untuk menyimpan maklumat imej. Untuk memudahkan proses pembangunan, kami menggunakan kelas wpdb yang disertakan dengan WordPress untuk melaksanakan operasi pangkalan data.

rrreee

Seterusnya, kita perlu menambah item menu dalam bahagian belakang WordPress untuk membolehkan pengguna memasuki antara muka pengurusan perpustakaan imej. Anda boleh menggunakan fungsi add_menu_page untuk mencapai fungsi ini. 🎜rrreee🎜Kemudian, kita perlu mencipta antara muka yang sepadan dengan menu. Dalam antara muka ini, kami boleh memaparkan senarai semua imej dan menyediakan fungsi untuk memuat naik dan memadam imej. 🎜rrreee🎜Akhir sekali, kita perlu menambah kod pendek pada galeri imej untuk membenamkan imej dalam siaran atau halaman. 🎜rrreee🎜Kini, kami telah menyelesaikan pembangunan pemalam WordPress yang menjana galeri imej secara automatik. Anda boleh menyimpan kod di atas ke dalam fail pemalam utama image-library.php dan letakkan fail itu dalam direktori pemalam WordPress anda. Kemudian, aktifkan pemalam pada halaman pengurusan pemalam bahagian belakang WordPress. 🎜🎜Apabila membangunkan pemalam, beri perhatian kepada mengikut spesifikasi pembangunan WordPress sebanyak mungkin, dan berikan pengguna antara muka yang mesra dan pengalaman pengendalian. Saya harap artikel ini dapat membantu anda membangunkan pemalam WordPress! 🎜

Atas ialah kandungan terperinci Bagaimana untuk membangunkan pemalam WordPress yang menjana galeri imej secara automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn