'', /* ============================ Post Excerpt Setting ============================*/ 'excerptLimit' => '150', // -------------------------- // Advanced Style // -------------------------- 'advanceId' => '', 'advanceZindex' => '', 'hideExtraLarge' => false, 'hideDesktop' => false, 'hideTablet' => false, 'hideMobile' => false, 'advanceCss' => '', ); } public function register() { register_block_type( 'ultimate-post/post-excerpt', array( 'editor_script' => 'ultp-blocks-editor-script', 'editor_style' => 'ultp-blocks-editor-css', 'render_callback' => array( $this, 'content' ), ) ); } public function content( $attr, $noAjax ) { $attr = wp_parse_args( $attr, $this->get_attributes() ); $block_name = 'post-excerpt'; $wrapper_before = $wrapper_after = $content = ''; $attr['className'] = isset( $attr['className'] ) && $attr['className'] ? preg_replace( '/[^A-Za-z0-9_ -]/', '', $attr['className'] ) : ''; $attr['align'] = isset( $attr['align'] ) && $attr['align'] ? preg_replace( '/[^A-Za-z0-9_ -]/', '', $attr['align'] ) : ''; $attr['advanceId'] = isset( $attr['advanceId'] ) ? sanitize_html_class( $attr['advanceId'] ) : ''; $attr['blockId'] = isset( $attr['blockId'] ) ? sanitize_html_class( $attr['blockId'] ) : ''; $excerpt = $this->excerpt_word( $attr['excerptLimit'] ); if ( $excerpt ) { $wrapper_before .= '
'; $wrapper_before .= '
'; $content .= '
'; $content .= $excerpt; $content .= '
'; $wrapper_after .= '
'; $wrapper_after .= '
'; } return $wrapper_before . $content . $wrapper_after; } public function excerpt_word( $charlength = 200 ) { $html = ''; ++$charlength; $excerpt = get_the_excerpt(); if ( mb_strlen( $excerpt ) > $charlength ) { $subex = mb_substr( $excerpt, 0, $charlength ); $exwords = explode( ' ', $subex ); $excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) ); if ( $excut < 0 ) { $html = mb_substr( $subex, 0, $excut ); } else { $html = $subex; } $html .= '...'; } else { $html = $excerpt; } return $html; } }