PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.1
16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 All 504 releases
← All changes | json-endpoints/class.wpcom-json-api-render-shortcode-endpoint.php +7 -1 12.0.3 → 16.3-a.1 View file →
@@ -1,6 +1,10 @@
1 1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 2
3 +if ( ! defined( 'ABSPATH' ) ) {
4 + exit( 0 );
5 +}
6 +
3 7 new WPCOM_JSON_API_Render_Shortcode_Endpoint(
4 8 array(
5 9 'description' => 'Get a rendered shortcode for a site. Note: The current user must have publishing access.',
6 10 'group' => 'sites',
@@ -31,8 +35,10 @@
31 35 /**
32 36 * Render shortcode endpoint class.
33 37 *
34 38 * /sites/%s/shortcodes/render -> $blog_id
39 + *
40 + * @phan-constructor-used-for-side-effects
35 41 */
36 42 class WPCOM_JSON_API_Render_Shortcode_Endpoint extends WPCOM_JSON_API_Render_Endpoint {
37 43 /**
38 44 * The API callback.
@@ -62,9 +68,9 @@
62 68
63 69 // Make sure only one shortcode is being rendered at a time
64 70 $pattern = get_shortcode_regex();
65 71 preg_match_all( "/$pattern/s", $shortcode, $matches );
66 - if ( count( $matches[0] ) > 1 ) {
72 + if ( is_countable( $matches[0] ) && count( $matches[0] ) > 1 ) {
67 73 return new WP_Error( 'invalid_shortcode', 'Only one shortcode can be rendered at a time.', 400 );
68 74 }
69 75
70 76 $render = $this->process_render( array( $this, 'do_shortcode' ), $shortcode );