Home  >  Article  >  CMS Tutorial  >  How to add rolling announcement functionality to WordPress plugin

How to add rolling announcement functionality to WordPress plugin

WBOY
WBOYOriginal
2023-09-06 15:46:511528browse

How to add rolling announcement functionality to WordPress plugin

How to add rolling announcement function to WordPress plug-in

As a widely used content management system, WordPress has many plug-ins for users to choose from to increase the functionality of the website and attraction. Today, we will discuss how to add rolling announcement functionality to a WordPress plugin. Such a feature would allow webmasters to display a scrolling announcement at the top or bottom of the site to convey important information to visitors.

The first step is to create a settings page in our plugin where we can add and manage our rolling announcements. We can use the Settings API provided by WordPress to accomplish this task.

// 在插件的主文件中添加以下代码

// 添加一个菜单选项到WordPress后台的设置菜单中
function custom_plugin_settings_menu() {
    add_options_page(
        '自定义插件设置',
        '自定义插件设置',
        'manage_options',
        'custom_plugin_settings',
        'custom_plugin_settings_callback'
    );
}
add_action('admin_menu', 'custom_plugin_settings_menu');

// 展示设置页面内容
function custom_plugin_settings_callback() {
    // 检查用户权限
    if (!current_user_can('manage_options')) {
        wp_die('您没有权限访问此页面!');
    }

    // 检查并更新设置
    if (isset($_POST['custom_plugin_notice'])) {
        update_option('custom_plugin_notice', sanitize_text_field($_POST['custom_plugin_notice']));
    }

    // 显示设置页面内容
    $notice = get_option('custom_plugin_notice');
    ?>
    <div class="wrap">
        <h1>自定义插件设置</h1>
        <form method="post" action="">
            <label for="custom_plugin_notice">滚动公告内容:</label>
            <input type="text" name="custom_plugin_notice" id="custom_plugin_notice" value="<?php echo esc_attr($notice); ?>" size="50" />
            <input type="submit" name="submit" id="submit" class="button button-primary" value="保存设置" />
        </form>
    </div>
    <?php
}

The above code will create a submenu item called "Custom Plugin Settings" in the settings menu of the WordPress backend. Clicking this submenu item will jump to our settings page, where you can add and save the content of the rolling announcement.

custom_plugin_notice in the above code is the setting item of our rolling announcement. We can get this value from the database and display the scrolling announcement in the foreground.

// 在插件的主文件中添加以下代码

// 在网站前台显示公告
function custom_plugin_display_notice() {
    $notice = get_option('custom_plugin_notice');
    ?>
    <div class="custom-plugin-notice">
        <marquee behavior="scroll" direction="left"><?php echo esc_html($notice); ?></marquee>
    </div>
    <?php
}
add_action('wp_footer', 'custom_plugin_display_notice');

This code will add a custom-plugin-notice class div at the bottom of the website, which contains a scrolling marquee element. The content is the scrolling we set in the settings page. announcement. You can customize CSS styles as needed.

Now, our rolling announcement feature is complete. Just install and activate our plugin, then add and manage the content of your rolling announcements through the background settings page.

To summarize, in this article we learned how to add rolling announcement functionality to WordPress plugins. We create a settings page to allow users to add rolling announcements and use the Settings API to save settings. We then use the wp_footer hook to display the scrolling announcement in the foreground of the website. I hope this article can help you expand the functionality of your WordPress plugin and increase the attractiveness of your website.

The above is the detailed content of How to add rolling announcement functionality to WordPress plugin. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn