Home > CMS Tutorial > WordPress > body text

How to add article recommendation functionality to WordPress plugin

WBOY
Release: 2023-09-06 15:49:45
Original
1335 people have browsed it

How to add article recommendation functionality to WordPress plugin

How to add article recommendation function to WordPress plug-in

Introduction:
WordPress is a powerful content management system (CMS) that is widely used to create various types of websites and blogs. Among them, plug-ins exist to extend WordPress functionality. Article recommendation is a very important feature in modern blogs and news websites. This article will introduce how to add article recommendation function in WordPress plug-in and provide corresponding code examples.

Step One: Create a New WordPress Plugin
First, we need to create a new WordPress plugin. Create a new folder in the WordPress plug-in directory (wp-content/plugins/) to store all the plug-in files.

Then, create a new PHP file in that folder and name it plugin-name.php (replace the name of the plugin with the actual plugin name). This file will become the main file of the plug-in, responsible for defining the name, version, author and other information of the plug-in, and loading other necessary files.

The following is the code for an example plugin-name.php:

<?php
/*
Plugin Name: my-plugin
Description: This is my plugin.
Version: 1.0
Author: My Name
*/

// 加载其他必要的文件
require_once plugin_dir_path(__FILE__) . 'includes/recommendation.php';

// 声明插件的激活/停用钩子
register_activation_hook(__FILE__, 'my_plugin_activate');
register_deactivation_hook(__FILE__, 'my_plugin_deactivate');
Copy after login

Please note that the require_once statement in the above code introduces a file named recommendation.php. In the following steps, we will create this file in the includes folder and add the code for the recommended functionality in it.

Step 2: Add the article recommendation function
Now, we will add the code for the article recommendation function in the recommendation.php file.

First, we need to use the following code snippet to add a checkbox to the article editing page on the WordPress backend to choose whether to recommend the article:

// 在文章编辑页面添加文章推荐的复选框
function add_recommendation_meta_box() {
    add_meta_box(
        'recommendation_meta_box',
        '文章推荐',
        'render_recommendation_meta_box',
        'post',
        'side',
        'default'
    );
}
add_action('add_meta_boxes', 'add_recommendation_meta_box');

// 渲染文章推荐的复选框
function render_recommendation_meta_box($post) {
    wp_nonce_field(basename(__FILE__), 'recommendation_nonce');

    $value = get_post_meta($post->ID, '_is_recommended', true);

    $checked = $value ? 'checked' : '';

    echo '<label for="is_recommended">';
    echo '<input id="is_recommended" name="is_recommended" type="checkbox" value="1" ' . $checked . '>';
    echo '推荐这篇文章';
    echo '</label>';
}
Copy after login

Then, when saving the article , we need to save the user's options to the database. Add the following code in the recommendation.php file:

// 保存文章推荐的值到数据库
function save_recommendation_meta_box_data($post_id) {
    if (!isset($_POST['recommendation_nonce']) || !wp_verify_nonce($_POST['recommendation_nonce'], basename(__FILE__))) {
        return;
    }

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }

    if (!current_user_can('edit_post', $post_id)) {
        return;
    }

    $is_recommended = isset($_POST['is_recommended']) ? sanitize_text_field($_POST['is_recommended']) : '';

    update_post_meta($post_id, '_is_recommended', $is_recommended);
}
add_action('save_post', 'save_recommendation_meta_box_data');
Copy after login

Now, we have successfully added the article recommendation feature to the WordPress plugin. Users can choose whether to recommend articles on the back-end article editing page and save the selection to the database.

Step 3: Display recommended articles
Now, let us display recommended articles on the front end. We can use WordPress’ query function to find all recommended articles and display them anywhere on the site.

The following is an example code snippet for displaying recommended articles in the theme's page template:

// 显示推荐的文章
function display_recommended_posts() {
    $args = array(
        'meta_key' => '_is_recommended',
        'meta_value' => '1'
    );
    $posts = get_posts($args);

    if ($posts) {
        echo '<ul>';
        foreach ($posts as $post) {
            echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
        }
        echo '</ul>';
    } else {
        echo '没有推荐的文章。';
    }
}
Copy after login

In the page where recommended articles need to be displayed, call the above function to display the recommendations list of articles.

Summary:
Through the above steps, we learned how to add article recommendation function to WordPress plug-in. We used the plug-in provided by WordPress to develop the API and query functions, and created a simple checkbox to select whether to recommend articles, and successfully saved the selection to the database. Finally, we use the query function to display recommended articles on the front-end of the website.

I hope that through the guidance of this article, you can easily add article recommendation functionality to your WordPress plugin and make your website more attractive and user-friendly.

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

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!