Skip to content
Snippets Groups Projects

feature(conditions): additional

Merged Grzegorz Rola requested to merge feature/conditions into master
21 files
+ 451
178
Compare changes
  • Side-by-side
  • Inline

Files

 
<?php
 
 
namespace WPDesk\ShowDecision\WooCommerce;
 
 
use WPDesk\ShowDecision\ShouldShowStrategy;
 
 
class ShippingMethodInstanceStrategy implements ShouldShowStrategy
 
{
 
 
private \WC_Shipping_Zones $shipping_zones;
 
 
private string $method_id;
 
 
public function __construct(\WC_Shipping_Zones $shipping_zones, string $method_id)
 
{
 
$this->shipping_zones = $shipping_zones;
 
$this->method_id = $method_id;
 
}
 
 
public function shouldDisplay(): bool
 
{
 
if ($this->isInShippingSettings()) {
 
if (isset($_GET['instance_id'])) {
 
$shipping_method = $this->shipping_zones::get_shipping_method(sanitize_key($_GET['instance_id']));
 
if ($shipping_method instanceof \WC_Shipping_Method) {
 
return $shipping_method->id === $this->method_id;
 
}
 
}
 
}
 
return false;
 
}
 
 
private function isInShippingSettings() : bool
 
{
 
if ($this->isGetParameterWithValue('page', 'wc-settings') && $this->isGetParameterWithValue('tab', 'shipping')) {
 
return \true;
 
}
 
return \false;
 
}
 
 
private function isGetParameterWithValue(string $parameter, string $value) : bool
 
{
 
return isset($_GET[$parameter]) && $_GET[$parameter] === $value;
 
}
 
 
}
Loading