| @@ -1,49 +1,61 @@ | ||
| 1 | 1 | <div |
| 2 | - <?php echo $wrapper_attr; ?>> | |
| 3 | - <h2 class="<?php esc_attr_e( $faq_heading_class );?> betterdocs-faq-section-title"> | |
| 4 | - <?php echo $faq_heading; ?> | |
| 5 | - </h2> | |
| 2 | + <?php | |
| 3 | +// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- view template receives variables via extract(); prefixing is impractical. | |
| 4 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 5 | + exit; | |
| 6 | +} | |
| 7 | +echo $wrapper_attr; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- contains attriutes and values together which are required here ?>> | |
| 8 | + <?php | |
| 9 | + $section_tag = betterdocs()->template_helper->is_valid_tag( $faq_section_title_tag ); | |
| 10 | + echo wp_kses_post( '<' . $section_tag . ' class="' . esc_attr( $faq_heading_class ) . ' betterdocs-faq-section-title">' . esc_html( $faq_heading ) . '</' . $section_tag . '>' ); | |
| 11 | + ?> | |
| 6 | 12 | |
| 7 | - <div class="betterdocs-faq-inner-wrapper"> | |
| 8 | - <?php | |
| 9 | - $terms = get_terms( $terms_query_args ); | |
| 10 | - $faq_json = ''; | |
| 13 | + <div class="betterdocs-faq-inner-wrapper"> | |
| 14 | + <?php | |
| 15 | + $terms = get_terms( $terms_query_args ); | |
| 16 | + $faq_json = ''; | |
| 11 | 17 | |
| 12 | - if ( ! is_wp_error( $terms ) ) { | |
| 13 | - $GLOBALS['betterdocs_faq_schema'] = []; | |
| 14 | - if ( $faq_schema ) { | |
| 15 | - $faq_json = [ | |
| 16 | - '@context' => 'https://schema.org', | |
| 17 | - '@type' => 'FAQPage', | |
| 18 | - 'mainEntity' => [] | |
| 19 | - ]; | |
| 18 | + if ( ! is_wp_error( $terms ) ) { | |
| 19 | + $GLOBALS['betterdocs_faq_schema'] = []; | |
| 20 | + if ( $faq_schema ) { | |
| 21 | + $faq_json = [ | |
| 22 | + '@context' => 'https://schema.org', | |
| 23 | + '@type' => 'FAQPage', | |
| 24 | + 'mainEntity' => [] | |
| 25 | + ]; | |
| 20 | 26 | |
| 21 | - $GLOBALS['betterdocs_faq_schema_main_entity'] = $faq_json['mainEntity']; | |
| 22 | - } | |
| 27 | + $GLOBALS['betterdocs_faq_schema_main_entity'] = $faq_json['mainEntity']; | |
| 28 | + } | |
| 23 | 29 | |
| 24 | - foreach ( $terms as $term ) { | |
| 25 | - if ( $term->count <= 0 ) { | |
| 26 | - continue; | |
| 27 | - } | |
| 30 | + foreach ( $terms as $term ) { | |
| 31 | + if ( $term->count <= 0 ) { | |
| 32 | + continue; | |
| 33 | + } | |
| 28 | 34 | |
| 29 | - // title | |
| 30 | - $view_object->get( 'shortcode-parts/faq-term-title', [ | |
| 31 | - 'title' => $term->name | |
| 32 | - ] ); | |
| 35 | + // title | |
| 36 | + $view_object->get( | |
| 37 | + 'shortcode-parts/faq-term-title', | |
| 38 | + [ | |
| 39 | + 'title' => $term->name | |
| 40 | + ] | |
| 41 | + ); | |
| 33 | 42 | |
| 34 | - // faq list | |
| 35 | - $view_object->get( 'shortcode-parts/faq-list', [ | |
| 36 | - 'term' => $term, | |
| 37 | - 'faq_schema' => $faq_schema, | |
| 38 | - 'faq_json' => $faq_schema ? $faq_json['mainEntity'] : '' | |
| 39 | - ] ); | |
| 40 | - } | |
| 43 | + // faq list | |
| 44 | + $view_object->get( | |
| 45 | + 'shortcode-parts/faq-list', | |
| 46 | + [ | |
| 47 | + 'term' => $term, | |
| 48 | + 'faq_schema' => $faq_schema, | |
| 49 | + 'faq_json' => $faq_schema ? $faq_json['mainEntity'] : '' | |
| 50 | + ] | |
| 51 | + ); | |
| 52 | + } | |
| 41 | 53 | |
| 42 | - if ( $faq_schema ) { | |
| 43 | - $faq_json['mainEntity'] = $GLOBALS['betterdocs_faq_schema_main_entity']; | |
| 44 | - echo '<script type="application/ld+json">' . wp_json_encode( $faq_json ) . '</script>'; | |
| 45 | - } | |
| 46 | - } | |
| 47 | - ?> | |
| 48 | - </div> | |
| 54 | + if ( $faq_schema ) { | |
| 55 | + $faq_json['mainEntity'] = $GLOBALS['betterdocs_faq_schema_main_entity']; | |
| 56 | + echo '<script type="application/ld+json">' . wp_json_encode( $faq_json ) . '</script>'; | |
| 57 | + } | |
| 58 | + } | |
| 59 | + ?> | |
| 60 | + </div> | |
| 49 | 61 | </div> |