我们用非产品主题开发产品展示网站,如果只是纯文本展示,多少有点单调,现在我们通过小工具栏,扩展一些额外参数,比如产品详细规格,产品相册等,有没有办法实现呢,先看成品效果图

左边是我们正常的发布文章效果,右侧是前台展示效果,这样的话看起来就更像是一个产品页面了,如何实现的呢,以下是大概的操作步骤。

一、自定义一个小工具

 

自定义的工具,直接在小工具管理处添加到文章右侧的第一个,在wp-content/themes/ripro-v5/inc/options/widget-options.php里,找到一个合适位置,添加一段类似这样的

///////////////////////////////////////// 侧边栏产品信息展示 /////////////////////////////////////////
CSF::createWidget('ri_sidebar_product_widget', array(
    'title'       => $name_prefix . '【飞来网边栏】1.产品信息展示',
    'classname'   => 'sidebar-product-info',
    'description' => '产品信息展示',
    'fields'      => array(
        array(
            'id'      => 'title',
            'type'    => 'text',
            'title'   => '产品标题',
            'default' => '产品信息',
        ),

    ),
));
function ri_sidebar_product_widget($args, $instance) {
    if ($args['id'] != 'single-sidebar') {
        return false; //非首页模块页面不显示
    }

    $instance = array_merge(array(
        'title'      => '产品标题',
    ), $instance);
    echo $args['before_widget'];
    get_template_part('template-parts/widget/sidebar-product-info', '', $instance);
    echo $args['after_widget'];
}

添加代码后,就能在小工具这里拖动过去了。

 

二、安装搜索「Advanced Custom Fields」或者 “ACF”插件

 

安装插件是为了增加我们需要扩展的一些自定义字段,默认的也有自定义字段,但是会比较多比较杂乱,用它这个插件,就只显示你增加的字段,后台就比较整洁了。

这时候编辑文章或发布文章时会多出四个位置

把需要扩展的内容在这里面编辑就可以了,有些常用的可以直接在插件那里设置默认值。

三、制作小工具模板并添加显示内容

 

在前面我们设置的小工具文件名称是sidebar-product-info,找到模板的目录创建同名称的PHP文件为 template-parts/widget/sidebar-product-info.php,内容如下,我们添加了产品目录,点赞数量,浏览量,评论数量几个参数,不用判断是否开启,直接显示就行,因为后台可以开启或关闭,我这里无论开启与否,都默认显示出来。

<?php
if (empty($args)) {
return;
}
?>
<!--飞来网 FLYING.WANG 详情页小功具扩展产品功能 START-->
<?php
//要加入这句,不然读取不了所属分类
$metaOption = _cao('single_top_title_meta', array(
'date', 'cat', 'views', 'likes', 'fav',
));
?>
<h5 class="widget-title"><?php echo $args['title']; ?></h5>
<strong style="font-size:15px;line-height:2;"><?php echo get_the_title($post->ID); ?></strong>
<br />
<hr />
<div class="img_right2">
<span style="display: block;">
<div class="article-meta">
<?php
//if (in_array('cat', $metaOption)):
?>
<span class="meta-cat-dot" title="产品分类" style="margin-right:5px;"><i class="far fa-folder me-1"></i><?php zb_meta_category(2);?></span>
<?php
//endif;
?>
<?php
//if (in_array('likes', $metaOption)):
?>
<span class="" title="点赞数" style="margin-right:5px;"><i class="far fa-heart me-1"></i><?php echo zb_get_post_likes();?></span>
<?php //endif;
?>
<?php //if (in_array('views', $metaOption)):
?>
<span class="meta-views" title="产品浏览量" style="margin-right:5px;"><i class="far fa-eye me-1"></i><?php echo zb_get_post_views();?></span>
<?php //endif;
?>
<?php if (in_array('comment', $metaOption) && comments_open() && is_site_comments()): ?>
<span class="meta-comment" style="margin-right:5px;"><a href="<?php echo esc_url(get_the_permalink() . '#comments'); ?>"><i class="far fa-comments me-1"></i><?php echo get_comments_number();?></a></span>
<?php endif;?>
<?php if (false && is_site_shop() && post_is_pay($post_id)) :?>
<span class="meta-price" style="margin-right:5px;"><i class="<?php echo get_site_coin_icon();?> me-1"></i><?php echo $post_price;?></span>
<?php endif;?>
</div>
</span>
<br />
<a class="btn btn-sm btn-info-soft post-share-btn" href="javascript:void(0);"><i class="fas fa-share-alt me-1"></i>分享</a> ·
<a class="btn btn-sm btn-success-soft post-fav-btn" href="javascript:void(0);" data-is="1"><i class="far fa-star me-1"></i>收藏</a> ·
<a class="btn btn-sm btn-danger-soft post-like-btn" href="javascript:void(0);" data-text="已点赞"><i class="far fa-heart me-1"></i>点赞(<span class="count">2</span>)</a>
</div>
<br />
<div class="card2222" style="margin-top:10px;">
<article class="post-content post-705 post type-post status-publish format-standard hentry category-fangaitiehe">
<?php
//我要它显示它才显示,比如在自定义字段里加个判断2025年4月18日, PM 12:53:17
$zdybt = get_post_meta($post->ID, "product_info", $single = true);
if($zdybt !=NULL){?>
<!--div style="width:100%;margin:0px auto;height:650px;border:1px solid red;">
<img src="https://aokiao.com/wp-content/uploads/2025/04/78805a221a988e7-4.png" />
</div-->
<?php
$xiangce = get_post_meta($post->ID, "product_info", $single = true);
echo do_shortcode($xiangce);
?>
<?php
}else{;}
?>
<?php
//如果有产品参数就显示出来
$zdybt = get_post_meta($post->ID, "product_canshu", $single = true);
if($zdybt !=NULL){
$xiangce = get_post_meta($post->ID, "product_canshu", $single = true);
echo $xiangce;}else{;}
?>
<?php
//按钮
$zaixianzixun = get_post_meta($post->ID, "zaixianzixun", $single = true);
echo do_shortcode($zaixianzixun);
?>
</article>
</div>
<!--飞来网 FLYING.WANG 详情页小功具扩展产品功能 END-->
<?php wp_reset_postdata();?>

保存更新之后,我们前台页面就有这个版块和内容了。

这些在后台都可以自定义的,非常简单的操作。

以上就完成了这次的功能扩展。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。