Skip to content

Commit

Permalink
Fixed Fatal Error on Single product page on mobile devices (#45)
Browse files Browse the repository at this point in the history
Summary:
Single product page gives Fatal Error on MOBILE DEVICES if $categories of that product is null in FacebookWordpressWooCommerce.php
.
Error message:
```
Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given in /srv/htdocs/wp-content/plugins/official-facebook-pixel/integration/FacebookWordpressWooCommerce.php:126

Stack Trace
1.
count(false)
/srv/htdocs/wp-content/plugins/official-facebook-pixel/integration/FacebookWordpressWooCommerce.php:126
2.
FacebookPixelPlugin\Integration\FacebookWordpressWooCommerce::getProductCategory(4466)
/srv/htdocs/wp-content/plugins/official-facebook-pixel/integration/FacebookWordpressWooCommerce.php:116
3.
FacebookPixelPlugin\Integration\FacebookWordpressWooCommerce::createViewContentEvent(Object(WC_Product_Variable))
[internal function]:0
4.
call_user_func_array(Array, Array)
/srv/htdocs/wp-content/plugins/official-facebook-pixel/core/ServerEventFactory.php:203
5.
FacebookPixelPlugin\Core\ServerEventFactory::safeCreateEvent('ViewContent', Array, Array, 'woocommerce')
/srv/htdocs/wp-content/plugins/official-facebook-pixel/integration/FacebookWordpressWooCommerce.php:96
6.
FacebookPixelPlugin\Integration\FacebookWordpressWooCommerce::trackViewContentEvent('')
/wordpress/core/6.4.3/wp-includes/class-wp-hook.php:324
7.
WP_Hook->apply_filters(NULL, Array)
/wordpress/core/6.4.3/wp-includes/class-wp-hook.php:348
8.
WP_Hook->do_action(Array)
/wordpress/core/6.4.3/wp-includes/plugin.php:517
9.
do_action('woocommerce_aft...')
/srv/htdocs/wp-content/plugins/elementor-pro/modules/woocommerce/documents/product.php:123
10.
ElementorPro\Modules\Woocommerce\Documents\Product->after_get_content()
/srv/htdocs/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:160
11.
ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document->get_content()
/srv/htdocs/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:173
12.
ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document->print_content()
/srv/htdocs/wp-content/plugins/elementor-pro/modules/theme-builder/documents/single-base.php:93
13.
ElementorPro\Modules\ThemeBuilder\Documents\Single_Base->print_content()
/srv/htdocs/wp-content/plugins/elementor-pro/modules/woocommerce/documents/product.php:133
14.
ElementorPro\Modules\Woocommerce\Documents\Product->print_content()
/srv/htdocs/wp-content/plugins/elementor-pro/modules/theme-builder/classes/locations-manager.php:364
15.
ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager->do_location('single')
/srv/htdocs/wp-content/plugins/elementor-pro/modules/theme-builder/classes/locations-manager.php:240
16.
ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager->ElementorPro\Modules\ThemeBuilder\Classes\{closure}()
[internal function]:0
17.
call_user_func(Object(Closure))
/srv/htdocs/wp-content/plugins/elementor/modules/page-templates/module.php:207
18.
Elementor\Modules\PageTemplates\Module->print_content()
/srv/htdocs/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php:19
19.
include('/srv/htdocs/wp-...')
/wordpress/core/6.4.3/wp-includes/template-loader.php:106
20.
require_once('/wordpress/core...')
/wordpress/core/6.4.3/wp-blog-header.php:19
21.
require('/wordpress/core...')
/wordpress/core/6.4.3/index.php:17
22.
{main}
thrown in /srv/htdocs/wp-content/plugins/official-facebook-pixel/integration/FacebookWordpressWooCommerce.php on line 126
```

Pull Request resolved: #45

Reviewed By: marksliva

Differential Revision: D64963721

Pulled By: vahidkay-meta

fbshipit-source-id: 5e3c3b05009dbb5f3338198325c019254647136e
  • Loading branch information
usmanmumtaz authored and facebook-github-bot committed Nov 20, 2024
1 parent 1bae1c2 commit 352df7d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion integration/FacebookWordpressWooCommerce.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,13 @@ private static function getProductCategory($product_id){
$product_id,
'product_cat'
);
return count($categories) > 0 ? $categories[0]->name : null;
if (is_countable($categories)){
$cat_count = count($categories);
}
else{
$cat_count = 0;
}
return $cat_count > 0 ? $categories[0]->name : null;
}

public static function trackPurchaseEvent($order_id) {
Expand Down

0 comments on commit 352df7d

Please sign in to comment.