首页 收藏 文章 闲言 友链

WordPress 主题开发:自定义浏览量、点赞量字段

2019-05-24 14:16:06 浏览:220 编辑:郑妙忠

涉及文件:function.php

主要的接口函数:get_post_meta()、delete_post_meta()、add_post_meta()、add_action()

<?php
  /**
  * get_post_views()函数
  * 功能:获取阅读数量
  * 在需要显示浏览次数的位置,调用此函数
  * @Param object|int $postID   文章的id
  * @Return string $count          文章阅读数量
  */
  function get_post_views( $postID ) {
    $count_key = 'views';
    $count = get_post_meta( $postID, $count_key, true );
    if( $count=='' ) {
        delete_post_meta( $postID, $count_key );
        add_post_meta( $postID, $count_key, '0' );
        return "0";
    }
    return $count;
  }
  /**
  * set_post_views()函数
  * 功能:设置或更新阅读数量
  * 在内容页(single.php,或page.php )调用此函数
  * @Param object|int $postID   文章的id
  * @Return string $count          文章阅读数量
  */
  function set_post_views( $postID ) {
    $count_key = 'views';
    $count = get_post_meta( $postID, $count_key, true );
    if( $count=='' ) {
      $count = 0;
      delete_post_meta( $postID, $count_key );
      add_post_meta( $postID, $count_key, '0' );
    } else {
      $count++;
      update_post_meta( $postID, $count_key, $count );
    }
  }

  /**
  * get_post_love()函数
  * 功能:获取点赞数量
  * 在需要显示浏览次数的位置,调用此函数
  * @Param object|int $postID   文章的id
  * @Return string $count          文章点赞数量
  */
  function get_post_love( $postID ) {
    $count_key = 'love';
    $count = get_post_meta( $postID, $count_key, true );
    if( $count=='' ) {
        delete_post_meta( $postID, $count_key );
        add_post_meta( $postID, $count_key, '0' );
        return "0";
    }
    return $count;
  }
  /**
  * set_post_love()函数
  * 功能:设置或更新点赞数量
  * 在内容页(single.php,或page.php )ajax调用此函数
  * @Return string $count          文章点赞数量
  */
  function set_post_love() {
    $postID = $_POST['id'];
    $count_key = 'love';
    $count = get_post_meta( $postID, $count_key, true );
    if( $count=='' ) {
      $count = 0;
      delete_post_meta( $postID, $count_key );
      add_post_meta( $postID, $count_key, '0' );
    } else {
      $count++;
      update_post_meta( $postID, $count_key, $count );
    }
    wp_die();
  }
  add_action( 'wp_ajax_set_post_love', 'set_post_love' );
  add_action( 'wp_ajax_nopriv_set_post_love', 'set_post_love' );
  // ajax 提交都要用到 add_action() 函数,ajax 提交评论也要用到这个,详细的 ajax 接口介绍请查看《WordPress Ajax》
?>

wordpress ajax 详细介绍传送门:[《WordPress 插件与主题的 Ajax》]()

END

留言 (共 0 条)