WooShortcodes.php
852 Bytes
<?php
namespace WPML\Compatibility\Divi;
use WPML\LIB\WP\Hooks;
use function WPML\FP\spreadArgs;
use WPML\FP\Obj;
class WooShortcodes implements \IWPML_Frontend_Action {
const WOO_SHORTCODES = [
'et_pb_wc_description',
'et_pb_wc_title',
];
public function add_hooks() {
Hooks::onFilter( 'et_pb_module_shortcode_attributes', 10, 3 )
->then( spreadArgs( [ $this, 'translateAttributes' ] ) );
}
/**
* @param array $shortcodeAttrs
* @param array $attrs
* @param string $slug
*
* @return array
*/
public function translateAttributes( $shortcodeAttrs, $attrs, $slug ) {
if ( in_array( $slug, self::WOO_SHORTCODES, true ) && (int) Obj::prop( 'product', $shortcodeAttrs ) ) {
$shortcodeAttrs['product'] = apply_filters( 'wpml_object_id', $shortcodeAttrs['product'], 'product', true );
}
return $shortcodeAttrs;
}
}