WordPress实现的首页幻灯片教程代码

广告合作

需要广告位置可以直接联系1272345426。

现在购买

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!如发现资源不能下载或者失效请联系QQ1272345426

久全技术网-www.52jqw.cn
久全技术网-www.52jqw.cn
摘要:本文介绍了WordPress实现起始页的幻灯片放映功能。对于具有出色WordPress扩展的程序,没...
WordPress实现的首页幻灯片教程代码

WordPress实现的首页幻灯片教程代码

教程前言:

本文介绍了WordPress实现起始页的幻灯片放映功能。

对于具有出色WordPress扩展的程序,没有什么是您无法实现的。创建站点时,许多人选择使用主页上的幻灯片来显示更多引人注目的内容。

今天,我观看了有关制作主页幻灯片的教程,并且我认为幻灯片对许多公司(包括个人网站)仍然有用。

共享给大家参考,如下所示:

教程步骤:

    1. 创建Post Meta Box
      /* Fire our meta box setup function on the post editor screen. */
      add_action( 'load-post.php', 'sola_post_meta_boxes_setup' );
      add_action( 'load-post-new.php', 'sola_post_meta_boxes_setup' );
      /* 这是需要修改的两处之一,本功能只需要一个checkbox,将checkbox的title、id等属性填充到$fields数组中,
      后面的代码会自动根据数组填充的内容创建Post Meta Box */
      $fields = array(
      array(
      'name' => __('是否在首页幻灯显示'),
      'desc' => 'Check this box and make the post a slider',
      'id' => 'sola-post-slider',
      'type' => 'checkbox',
      'default' => ''
      )
      );
      /* Meta box setup function. */
      function sola_post_meta_boxes_setup() {
      /* Add meta boxes on the 'add_meta_boxes' hook. */
      add_action( 'add_meta_boxes', 'sola_add_post_meta_boxes' );
      add_action( 'save_post', 'sola_save_post_meta_boxes', 10, 2 );
      }
      /* Create one or more meta boxes to be displayed on the post editor screen. */
      /* 这里也需要改一下,设置需要创建的Post Meta Box叫什么名字,显示在什么位置 */
      function sola_add_post_meta_boxes() {
      add_meta_box(
      'sola-post-slider-class', // Unique ID
      __('首页幻灯片'), // Title
      'sola_seo_box_format', // Callback function
      'post', // Admin page (or post type)
      'side', // Context
      'default' // Priority
      );
      }
      function sola_seo_box_format(){
      global $fields,$post;
      // Use nonce for verification
      echo '<input type="hidden" name="sola_meta_box_nonce" value="', wp_create_nonce(basename(__FILE__)), '" />';
      echo '<table class="form-table">';
      foreach ($fields as $field) {
      // get current post meta data
      $meta = get_post_meta($post->ID, $field['id'], true);
      echo '<tr>'.
      '<th><label for="'. $field['id'] .'">'. $field['name']. '</strong></label></th>'.
      '<td>';
      switch ($field['type']) {
      case 'text':
      echo '<input type="text" name="'. $field['id']. '" id="'. $field['id'] .'" value="'. ($meta ? $meta : $field['default']) . '" size="30" style="width:97%" />'. '
      '. $field['desc'];
      break;
      case 'textarea':
      echo '<textarea name="'. $field['id']. '" id="'. $field['id']. '" cols="60" rows="4" style="width:97%">'. ($meta ? $meta : $field['default']) . ''. '
      '. $field['desc'];
      break;
      case 'select':
      echo '<select name="'. $field['id'] . '" id="'. $field['id'] . '">';
      foreach ($field['options'] as $option) {
      echo '<option '. ( $meta == $option ? ' selected="selected"' : '' ) . '>'. $option . '</option>';
      }
      echo '</select>';
      break;
      case 'radio':
      foreach ($field['options'] as $option) {
      echo '<input type="radio" name="' . $field['id'] . '" value="' . $option['value'] . '"' . ( $meta == $option['value'] ? ' checked="checked"' : '' ) . ' />' . $option['name'];
      }
      break;
      case 'checkbox':
      echo '<input type="checkbox" name="' . $field['id'] . '" id="' . $field['id'] . '"' . ( $meta ? ' checked="checked"' : '' ) . ' />';
      break;
      }
      echo '<td>'.'</tr>';
      }
      echo '</table>';
      }
      function sola_save_post_meta_boxes($post_id) {
      global $fields, $post;
      //Verify nonce
      if (!wp_verify_nonce($_POST['sola_meta_box_nonce'], basename(__FILE__))) {
      return $post_id;
      }
      //Check autosave
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
      return $post_id;
      }
      //Get the post type object.
      $post_type = get_post_type_object( $post->post_type );
      //Check permissions
      if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
      return $post_id;
      foreach ($fields as $field) {
      $old = get_post_meta($post_id, $field['id'], true);
      $new = $_POST[$field['id']];
      if ($new && $new != $old) {
      update_post_meta($post_id, $field['id'], $new);
      } elseif ('' == $new && $old) {
      delete_post_meta($post_id, $field['id'], $old);
      }
      }
      }

      如图所示:WordPress实现的首页幻灯片教程代码

    2. 读取幻灯片文
      $args = array(
      'posts_per_page' => 4,
      'meta_key' => 'sola-post-slider',
      'meta_value' => 'on',
      );
      query_posts($args);

      以上代码来修改slider.php,使用post meta box实现,就需要根据post的meta信息搜索幻灯片,代码如上。

    3. 用get_posts()和meta_query参数结合,就可以达到目的,有了数据,直接循环输出就行。

未经允许不得转载:作者:久全技术猿, 转载或复制请以 超链接形式 并注明出处 久全技术网
原文地址:《WordPress实现的首页幻灯片教程代码》 发布于2019-09-24

分享到:
赞(0) 打赏
久全技术网-aidezy.com 久全技术网-www.52jqw.cn
久全技术网-aidezy.com 久全技术网-www.52jqw.cn

评论 抢沙发

8 + 1 =


WordPress实现的首页幻灯片教程代码

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册