for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Add support for GeneratePress theme
*
* @file class-gravityview-theme-hooks-generatepress.php
* @since 2.10.3
* @license GPL2+
* @author GravityView <[email protected]>
* @link http://gravityview.co
* @copyright Copyright 2021, Katz Web Services, Inc.
* @package GravityView
*/
* @inheritDoc
class GravityView_Theme_Hooks_GeneratePress extends GravityView_Plugin_and_Theme_Hooks {
public function __construct() {
if ( 'generatepress' !== wp_get_theme()->__get( 'template' ) ) {
return;
}
parent::__construct();
add_filter( 'render_block', array( $this, 'detect_views_in_block_content' ) );
* Detect GV Views in parsed Gutenberg block content
* @see \WP_Block::render()
* @param string $block_content Gutenberg block content
* @return false|string
public function detect_views_in_block_content( $block_content ) {
if ( ! class_exists( 'GV\View_Collection' ) || ! class_exists( 'GV\View' ) ) {
return $block_content;
$gv_view_data = GravityView_View_Data::getInstance();
$views = \GV\View_Collection::from_content( $block_content );
foreach ( $views->all() as $view ) {
if ( ! $gv_view_data->views->contains( $view->ID ) ) {
contains
$gv_view_data->views
array
Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.
$gv_view_data->views->add( $view );
add
new GravityView_Theme_Hooks_GeneratePress;
Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.