File "class-convertkit-woocommerce-product-form.php"
Full Path: /home/attunedd/public_html/wp-content/plugins/convertkit/includes/integrations/woocommerce/class-convertkit-woocommerce-product-form.php
File size: 2.36 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Note: This file may contain artifacts of previous malicious infection.
* However, the dangerous code has been removed, and the file is now safe to use.
*/
?>
<?php
/**
* ConvertKit WooCommerce Product Form class.
*
* @package ConvertKit
* @author ConvertKit
*/
/**
* Registers ConvertKit Forms on WooCommerce Products
*
* @package ConvertKit
* @author ConvertKit
*/
class ConvertKit_WooCommerce_Product_Form {
/**
* Constructor.
*
* @since 1.9.6
*/
public function __construct() {
add_filter( 'convertkit_get_supported_post_types', array( $this, 'register_post_type_support' ) );
add_action( 'convertkit_output_output_form', array( $this, 'output_form' ) );
}
/**
* Register ConvertKit Form support for WooCommerce Products.
*
* @since 1.9.6
*
* @param array $post_types Supported Post Types.
* @return array $post_types Supported Post Types
*/
public function register_post_type_support( $post_types ) {
// Bail if WooCommerce isn't active.
if ( ! $this->is_active() ) {
return $post_types;
}
// Register WooCommerce Product support.
$post_types[] = 'product';
return $post_types;
}
/**
* Output the ConvertKit Form after the Product's Summary.
*
* @since 1.9.6
*/
public function output_form() {
// Bail if WooCommerce isn't active.
if ( ! $this->is_active() ) {
return;
}
// Bail if not a singular Product.
if ( ! is_singular( 'product' ) ) {
return;
}
// Remove the_content filter, as this isn't always reliable.
remove_filter( 'the_content', array( WP_ConvertKit()->get_class( 'output' ), 'append_form_to_content' ) );
// Output the Form after the Product's Summary.
add_action( 'woocommerce_after_single_product_summary', array( $this, 'append_form_to_product_summary' ) );
}
/**
* Append the ConvertKit Form to the Product's Summary.
*
* @since 1.9.6
*/
public function append_form_to_product_summary() {
echo WP_ConvertKit()->get_class( 'output' )->append_form_to_content( '' ); // phpcs:ignore
}
/**
* Determines if the WooCommerce Plugin is active.
*
* @since 1.9.6
*
* @return bool Plugin Active.
*/
public function is_active() {
return ( defined( 'WC_PLUGIN_FILE' ) ? true : false );
}
}
// Bootstrap.
add_action(
'convertkit_initialize_global',
function() {
new ConvertKit_WooCommerce_Product_Form();
}
);