(string) $display->id, 'label' => $display->title . ( $display->is_active() ? '' : ' (' . __( 'inactive', 'advanced-css3-related-posts-widget' ) . ')' ), ); } $templates = array( array( 'value' => '', 'label' => __( 'Use Display setting', 'advanced-css3-related-posts-widget' ) ) ); foreach ( SRPP_Templates::all() as $id => $template ) { $templates[] = array( 'value' => $id, 'label' => $template['name'] ); } wp_localize_script( 'srpp-block', 'SRPP_BLOCK', array( 'displays' => $choices, 'templates' => $templates, 'title' => __( 'Related Content', 'advanced-css3-related-posts-widget' ), 'empty' => __( 'Create a Display first under Related Content → Displays.', 'advanced-css3-related-posts-widget' ), 'selectLbl' => __( 'Display', 'advanced-css3-related-posts-widget' ), 'itemsLbl' => __( 'Items (0 = Display setting)', 'advanced-css3-related-posts-widget' ), 'colsLbl' => __( 'Desktop columns (0 = Display setting)', 'advanced-css3-related-posts-widget' ), 'tplLbl' => __( 'Template', 'advanced-css3-related-posts-widget' ), ) ); register_block_type( 'stunning-related/related-content', array( 'editor_script' => 'srpp-block', 'render_callback' => array( __CLASS__, 'render' ), 'attributes' => array( 'displayId' => array( 'type' => 'string', 'default' => '' ), 'items' => array( 'type' => 'number', 'default' => 0 ), 'columns' => array( 'type' => 'number', 'default' => 0 ), 'template' => array( 'type' => 'string', 'default' => '' ), ), ) ); } /** * Server render. * * @param array $attributes Attributes. * @return string */ public static function render( $attributes ) { $display = SRPP_Display::get( isset( $attributes['displayId'] ) ? $attributes['displayId'] : 0 ); if ( ! $display ) { return ''; } if ( ! SRPP_Conditions::passes( $display, (int) get_the_ID(), 'manual' ) ) { return ''; } return srpp()->render->render( $display, array( 'post_id' => (int) get_the_ID(), 'items' => isset( $attributes['items'] ) ? absint( $attributes['items'] ) : 0, 'cols_d' => isset( $attributes['columns'] ) ? absint( $attributes['columns'] ) : 0, 'template' => isset( $attributes['template'] ) ? sanitize_key( $attributes['template'] ) : '', 'placement' => 'block', ) ); } }