首页 > CMS教程 > &#&按 > 为WordPress创建投票插件

为WordPress创建投票插件

William Shakespeare
发布: 2025-02-21 09:34:11
原创
590 人浏览过

>本教程演示了构建一个WordPress插件,“投票我”,以在帖子中添加投票功能并显示最佳的内容。

密钥功能:

  • >>自定义投票插件:avoteme.php插件文件处理核心功能,包括通过voteme.js>。
  • 帖子投票:每个帖子下面的投票链接使用ajax动态更新投票。
  • 管理面板集成: WordPress管理员显示和按票数进行分类。
  • 注册的用户限制:
  • 投票仅限于注册,已登录用户以防止垃圾邮件。
  • 顶级投票的帖子窗口小部件:
  • 可自定义的小部件展示最受欢迎的帖子。
  • 插件创建:

>创建在您的

目录中。 插件标题应为:

voteme.php wp-content/plugins/voteme

中创建
<?php
/*
Plugin Name: Vote Me
Plugin URI:  [Your Plugin URI]
Description: Adds voting to posts.
Author: Abbas
Version: 0.1
Author URI: [Your Author URI]
*/
define('VOTEMESURL', WP_PLUGIN_URL."/".dirname( plugin_basename( __FILE__ ) ) );
define('VOTEMEPATH', WP_PLUGIN_DIR."/".dirname( plugin_basename( __FILE__ ) ) );
登录后复制
文件夹,然后添加

。 插件结构应类似于以下方式:js votemevoteme.js

加入脚本:Create a Voting Plugin for WordPress

激活WordPress Admin面板中的插件。

function voteme_enqueuescripts() {
    wp_enqueue_script('voteme', VOTEMESURL.'/js/voteme.js', array('jquery'));
    wp_localize_script( 'voteme', 'votemeajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}
add_action('wp_enqueue_scripts', 'voteme_enqueuescripts');
登录后复制

Create a Voting Plugin for WordPress 添加投票链接:

>向帖子添加投票链接:

这添加了投票数,并在每个帖子下面链接。

function voteme_getvotelink() {
    $votemelink = "";
    if( get_option('votemelogincompulsory') != 'yes' || is_user_logged_in() ) {
        $post_ID = get_the_ID();
        $votemecount = get_post_meta($post_ID, '_votemecount', true) != '' ? get_post_meta($post_ID, '_votemecount', true) : '0';
        $link = $votemecount.' <a onclick="votemeaddvote('.$post_ID.');">Vote</a>';
        $votemelink = '<div>' . $link . '</div>';
    } else {
        $register_link = site_url('wp-login.php');
        $votemelink = '<div><a href="' . $register_link . '">Vote</a></div>';
    }
    return $votemelink;
}

function voteme_printvotelink($content) {
    return $content . voteme_getvotelink();
}
add_filter('the_content', 'voteme_printvotelink');
登录后复制

Create a Voting Plugin for WordPress ajax投票:

voteme.js

function votemeaddvote(postId) {
    jQuery.ajax({
        type: 'POST',
        url: votemeajax.ajaxurl,
        data: {
            action: 'voteme_addvote',
            postid: postId
        },
        success: function(data, textStatus, XMLHttpRequest) {
            var linkid = '#voteme-' + postId;
            jQuery(linkid).html('');
            jQuery(linkid).append(data);
        },
        error: function(MLHttpRequest, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });
}
登录后复制

这将处理AJAX请求以增加投票数。 voteme.php

function voteme_addvote() {
    $results = '';
    global $wpdb;
    $post_ID = $_POST['postid'];
    $votemecount = get_post_meta($post_ID, '_votemecount', true) != '' ? get_post_meta($post_ID, '_votemecount', true) : '0';
    $votemecountNew = $votemecount + 1;
    update_post_meta($post_ID, '_votemecount', $votemecountNew);
    $results .= '<div>' . $votemecountNew . '</div>';
    die($results);
}
add_action( 'wp_ajax_nopriv_voteme_addvote', 'voteme_addvote' );
add_action( 'wp_ajax_voteme_addvote', 'voteme_addvote' );
登录后复制

(其余部分详细详细介绍管理员自定义,分类,用户限制和窗口小部件的创建太多了,以至于在此处包含。提供的文本为每个步骤提供完整的代码。请参阅完整代码的原始输入摘要。)

Create a Voting Plugin for WordPress

>最终部分封面将投票计数列添加到“管理员帖子”列表中,使其可排序,通过设置页面将投票限制为注册用户,并创建一个小部件以显示顶级投票的帖子。 原始输入中存在所有必要的代码。 切记用自己的占位符乌里斯(Uris)替换。

以上是为WordPress创建投票插件的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板