PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / 3rd-party / woocommerce.php
jetpack / 3rd-party Last commit date
debug-bar 3 months ago 3rd-party.php 1 month ago activitypub.php 1 month ago amp.php 7 months ago atomic.php 7 months ago bbpress.php 7 months ago beaverbuilder.php 7 months ago bitly.php 7 months ago buddypress.php 7 months ago class-domain-mapping.php 7 months ago class-jetpack-bbpress-rest-api.php 2 years ago class.jetpack-amp-support.php 4 months ago creative-mail.php 7 months ago debug-bar.php 7 months ago jetpack-backup.php 7 months ago jetpack-boost.php 7 months ago qtranslate-x.php 7 months ago vaultpress.php 1 week ago web-stories.php 7 months ago woocommerce-services.php 7 months ago woocommerce.php 7 months ago wpcom-reader.php 7 months ago wpml.php 7 months ago
woocommerce.php
141 lines
1 <?php
2 /**
3 * This file contains compatibility functions for WooCommerce to improve Jetpack feature support.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit( 0 );
10 }
11
12 add_action( 'woocommerce_init', 'jetpack_woocommerce_integration' );
13
14 /**
15 * Loads JP+WC integration.
16 *
17 * Fires on `woocommerce_init` hook
18 */
19 function jetpack_woocommerce_integration() {
20 /**
21 * Double check WooCommerce exists - unlikely to fail due to the hook being used but better safe than sorry.
22 */
23 if ( ! class_exists( 'WooCommerce' ) ) {
24 return;
25 }
26
27 add_action( 'woocommerce_share', 'jetpack_woocommerce_social_share_icons', 10 );
28
29 /**
30 * Add product post type to Jetpack sitemap while skipping hidden products.
31 */
32 add_filter( 'jetpack_sitemap_post_types', 'jetpack_woocommerce_add_to_sitemap' );
33 add_filter( 'jetpack_sitemap_skip_post', 'jetpack_woocommerce_skip_hidden_products_in_sitemap', 10, 2 );
34
35 /**
36 * Wrap in function exists check since this requires WooCommerce 3.3+.
37 */
38 if ( function_exists( 'wc_get_default_products_per_row' ) ) {
39 add_filter( 'infinite_scroll_render_callbacks', 'jetpack_woocommerce_infinite_scroll_render_callback', 10 );
40 add_action( 'wp_enqueue_scripts', 'jetpack_woocommerce_infinite_scroll_style', 10 );
41 }
42 }
43
44 /**
45 * Add product post type to sitemap if Woocommerce is present.
46 *
47 * @param array $post_types Array of post types included in sitemap.
48 */
49 function jetpack_woocommerce_add_to_sitemap( $post_types ) {
50 $post_types[] = 'product';
51
52 return $post_types;
53 }
54
55 /**
56 * Skip hidden products when generating the sitemap.
57 *
58 * @param bool $skip Whether to skip the post.
59 * @param WP_Post $post The post object.
60 */
61 function jetpack_woocommerce_skip_hidden_products_in_sitemap( $skip, $post ) {
62 if ( $post !== null && $post->post_type === 'product' ) {
63 $product = wc_get_product( $post->ID );
64 if ( $product ) {
65 $skip = ! $product->is_visible();
66 }
67 }
68 return $skip;
69 }
70
71 /**
72 * Make sure the social sharing icons show up under the product's short description
73 */
74 function jetpack_woocommerce_social_share_icons() {
75 if ( function_exists( 'sharing_display' ) ) {
76 remove_filter( 'the_content', 'sharing_display', 19 );
77 remove_filter( 'the_excerpt', 'sharing_display', 19 );
78 sharing_display( '', true );
79 }
80 }
81
82 /**
83 * Remove sharing display from account, cart, and checkout pages in WooCommerce.
84 */
85 function jetpack_woocommerce_remove_share() {
86 /**
87 * Double check WooCommerce exists - unlikely to fail due to the hook being used but better safe than sorry.
88 */
89 if ( ! class_exists( 'WooCommerce' ) ) {
90 return;
91 }
92
93 if ( is_cart() || is_checkout() || is_account_page() ) {
94 remove_filter( 'the_content', 'sharing_display', 19 );
95 if ( class_exists( 'Jetpack_Likes' ) ) {
96 remove_filter( 'the_content', array( Jetpack_Likes::init(), 'post_likes' ), 30 );
97 }
98 }
99 }
100 add_action( 'loop_start', 'jetpack_woocommerce_remove_share' );
101
102 /**
103 * Add a callback for WooCommerce product rendering in infinite scroll.
104 *
105 * @param array $callbacks Array of render callpacks for IS.
106 * @return array
107 */
108 function jetpack_woocommerce_infinite_scroll_render_callback( $callbacks ) {
109 $callbacks[] = 'jetpack_woocommerce_infinite_scroll_render';
110 return $callbacks;
111 }
112
113 /**
114 * Add a default renderer for WooCommerce products within infinite scroll.
115 */
116 function jetpack_woocommerce_infinite_scroll_render() {
117 if ( ! is_shop() && ! is_product_taxonomy() && ! is_product_category() && ! is_product_tag() ) {
118 return;
119 }
120
121 woocommerce_product_loop_start();
122
123 while ( have_posts() ) {
124 the_post();
125 wc_get_template_part( 'content', 'product' );
126 }
127
128 woocommerce_product_loop_end();
129 }
130
131 /**
132 * Basic styling when infinite scroll is active only.
133 */
134 function jetpack_woocommerce_infinite_scroll_style() {
135 $custom_css = '
136 .infinite-scroll .woocommerce-pagination {
137 display: none;
138 }';
139 wp_add_inline_style( 'woocommerce-layout', $custom_css );
140 }
141