LLMS_Blocks_Reusable::mod_wp_block_query( arrays $args, WP_REST_Request $request )
Modify the rest request query used to list reusable blocks within the block editor
Description Description
Ensures that reusable blocks containing LifterLMS Form Fields can only be inserted/viewed in the context that we allow them to be used within.
- When viewing a
wp_block
post, all reusable blocks should be displayed. - When viewing an
llms_form
post, only blocks that specifyis_llms_field
as ‘yes’ can be displayed. - When viewing any other post, any post with
is_llms_field
of ‘yes’ is excluded.
See also See also
Parameters Parameters
- $args
-
(arrays) (Required) WP_Query arguments.
- $request
-
(WP_REST_Request) (Required) Request object.
Return Return
(array)
Source Source
File: libraries/lifterlms-blocks/includes/class-llms-blocks-reusable.php
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | public function mod_wp_block_query( $args , $request ) { $referer = $request ->get_header( 'referer' ); $screen = empty ( $referer ) ? false : $this ->get_screen_from_referer( $referer ); // We don't care about the screen or it's a reusable block screen. if ( empty ( $screen ) || 'wp_block' === $screen ) { return $args ; } // Add a meta query if it doesn't already exist. if ( empty ( $args [ 'meta_query' ] ) ) { $args [ 'meta_query' ] = array ( 'relation' => 'AND' , ); } // Forms should show only blocks with forms and everything else should exclude blocks with forms. $include_fields = 'llms_form' === $screen ; $args [ 'meta_query' ][] = $this ->get_meta_query( $include_fields ); return $args ; } |
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
2.0.0 | Introduced. |