按以下步骤从「标记→代码→排版→冲突」逐步排查,确保4个推荐产品能在首页正常显示,每步都有可执行操作,小白也能跟着做。
一、先确认产品标记正确(基础前提)
1.产品编辑页:右侧「发布」面板→展开「目录可见性」→勾选**「这是特色产品」**,更新产品;找不到就点右上角「显示选项」,勾选「目录可见性」。
2.产品列表页:点顶部「显示选项」,勾选「特色」列,对应产品点星星图标(空心变实心),批量可通过「批量操作→编辑→特色→设为特色→更新」。
3.检查产品状态:确保已发布、库存>0、目录可见性为目录和搜索结果可见,而非「隐藏」。
二、修正短代码写法与排版(核心)
•官方标准写法(优先用这个):
[products limit=”4″ columns=”4″ visibility=”featured”]
也可用原生兼容写法:
[products limit=”4″ columns=”4″ featured=”true”]
三、排查短代码位置与页面设置
1.位置:放在文章编辑器主内容区或支持短代码的小工具/区块;不要放在HTML块、代码块(非短代码块)或主题自定义字段里。
2.页面设置:首页编辑页→右侧「页面属性」→模板选默认模板,不要选「空白模板」「自定义模板」,避免不加载WooCommerce样式/功能。
3.缓存:清理WordPress缓存插件(如WP Rocket、W3 Total Cache)和浏览器缓存,刷新前台。
四、冲突与兼容性排查(终极解决)
1.插件冲突:禁用除WooCommerce外的所有插件,刷新看是否显示;若显示,逐个启用插件,找到冲突插件并替换/删除。
2.主题冲突:临时切换到Storefront(WooCommerce官方主题)测试;若显示,说明当前主题不兼容,改用标准短代码或联系主题作者获取适配参数。
3.自定义函数影响:检查当前主题的functions.php,看是否有重写[products]短代码的函数,如有注释掉测试。
五、替代方案(上述无效时)
// 添加到主题functions.php或自定义插件
function custom_featured_products_shortcode() {
$args = array(
‘post_type’ => ‘product’,
‘posts_per_page’ => 4,
‘tax_query’ => array(
array(
‘taxonomy’ => ‘product_visibility’,
‘field’ => ‘name’,
‘terms’ => ‘featured’,
‘operator’ => ‘IN’
)
)
);
$query = new WP_Query($args);
ob_start();
if ($query->have_posts()) {
echo ‘<div class=”woocommerce columns-4″>’;
woocommerce_product_loop_start();
while ($query->have_posts()) {
$query->the_post();
wc_get_template_part(‘content’, ‘product’);
}
woocommerce_product_loop_end();
echo ‘</div>’;
wp_reset_postdata();
}
return ob_get_clean();
}
add_shortcode(‘custom_featured_products’, ‘custom_featured_products_shortcode’);
1.用WooCommerce区块:编辑首页→添加「WooCommerce产品」区块→筛选「特色产品」,设置4个、4列,无需短代码,更稳定。
2.自定义短代码(万能适配):
[products limit=”4″ columns=”4″ visibility=”featured” posts_per_page=”4″]
3.想让推荐产品按最新添加/销量排序,加排序参数即可:
// 按最新添加排序
[products limit=”4″ columns=”4″ visibility=”featured” orderby=”date” order=”desc”]
// 按销量排序
[products limit=”4″ columns=”4″ visibility=”featured” orderby=”sales” order=”desc”]
文章版权声明