• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    WordPress实现的首页幻灯片展示功能示例【附demo源码】

    发布者: 涵韵 | 发布时间: 2025-6-19 12:03| 查看数: 111| 评论数: 0|帖子模式

    本文实例讲述了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 '';
    echo '';
    foreach ($fields as $field) {
    // get current post meta data
    $meta = get_post_meta($post->ID, $field['id'], true);
    echo ''.
    ''. $field['name']. '</strong>'.
    '';
    switch ($field['type']) {
    case 'text':
    echo ''. '
    '. $field['desc'];
    break;
    case 'textarea':
    echo ''. ($meta ? $meta : $field['default']) . ''. '
    '. $field['desc'];
    break;
    case 'select':
    echo '';
    foreach ($field['options'] as $option) {
    echo ''. $option . '';
    }
    echo '';
    break;
    case 'radio':
    foreach ($field['options'] as $option) {
    echo '' . $option['name'];
    }
    break;
    case 'checkbox':
    echo '';
    break;
    }
    echo ''.'';
    }
    echo '';
    }
    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);
    }
    }
    } 
    这段代码会在文章创建和编辑页面创建如下所示的Post Meta Box :

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表