: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if(empty($args['archive_products'])){
$archive_default = array(
'auto_fullwidth' => false,
'appearance_image' => '',
'lightbox_w_unit' => '%',
'lightbox_h_unit' => '%',
'open_link' => 'regular',
'open_link' => 'regular',
'lightbox_w_unit' => '%',
'lightbox_h_unit' => '%',
foreach ($args['archive_products'] as $key => $item) {
if (!isset($item['val'])) {
if (isset($archive_default[$key]['val'])) {
$item['val'] = wp_parse_args($item['val'], $archive_default[$key]['val']);
if ($item['on'] === '1') {
themify_product_title_start();
self::retrieve_template('partials/title.php', $item['val']);
themify_product_title_end();
if ($item['on'] === '1') {
self::retrieve_template('wc/description.php', $item['val']);
if ($item['on'] === '1') {
self::retrieve_template('wc/meta.php', $item['val']);
if ($item['on'] === '1') {
self::retrieve_template('wc/loop/image.php', $item['val']);
if ($item['on'] === '1') {
themify_product_price_start(); // Hook
<div class="post-meta entry-meta tbp_post_meta product-price">
<?php woocommerce_template_loop_price() ?>
themify_product_price_end(); // Hook
if ($item['on'] === '1') {
self::retrieve_template('wc/rating.php');
if ($item['on'] === '1') {
self::retrieve_template('wc/loop/add-to-cart.php', $item['val']);