?> /** * Generalized dynamic content implementation to make it usable for WooCommerce Modules. * * @package Divi * @subpackage Builder */ /** * Handle ajax requests to resolve post content. * * @since 3.17.2 * * @return void */ function et_builder_ajax_resolve_post_content() { if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['nonce'] ), 'et_fb_resolve_post_content' ) ) { // phpcs:ignore ET.Sniffs.ValidatedSanitizedInput -- The nonce value is used only for comparision in the `wp_verify_nonce`. et_core_die(); } $_ = ET_Core_Data_Utils::instance(); $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0; // phpcs:disable ET.Sniffs.ValidatedSanitizedInput -- All values from `$_POST['groups']` and `$_POST['overrides']` arrays value are being sanitized before use in following foreach loop. $groups = isset( $_POST['groups'] ) && is_array( $_POST['groups'] ) ? $_POST['groups'] : array(); $overrides = isset( $_POST['overrides'] ) && is_array( $_POST['overrides'] ) ? $_POST['overrides'] : array(); // phpcs:enable $overrides = array_map( 'wp_kses_post', $overrides ); $post = get_post( $post_id ); $invalid_permissions = ! current_user_can( 'edit_post', $post_id ); $invalid_post = null === $post; if ( $invalid_permissions || $invalid_post ) { et_core_die(); } $response = array(); foreach ( $groups as $hash => $field_group ) { $group = sanitize_text_field( isset( $field_group['group'] ) ? (string) $field_group['group'] : '' ); $field = isset( $field_group['field'] ) ? sanitize_text_field( (string) $field_group['field'] ) : ''; $settings = isset( $field_group['settings'] ) && is_array( $field_group['settings'] ) ? wp_unslash( $field_group['settings'] ) : array(); $settings = array_map( 'wp_kses_post', $settings ); $is_content = $_->array_get( $field_group, 'attribute' ) === 'content'; $response[ $hash ] = apply_filters( "et_builder_resolve_{$group}_post_content_field", $field, $settings, $post_id, $overrides, $is_content ); } wp_send_json_success( $response ); } add_action( 'wp_ajax_et_builder_resolve_post_content', 'et_builder_ajax_resolve_post_content' ); /** * List terms for a given post. * * @since 3.17.2 * * @param array $terms List of terms. * @param boolean $link Whether return link or label. * @param string $separator Terms separators. * * @return string */ function et_builder_list_terms( $terms, $link = true, $separator = ' | ' ) { $output = array(); foreach ( $terms as $term ) { $label = esc_html( $term->name ); if ( $link ) { $label = sprintf( '%2$s', esc_url( get_term_link( $term ) ), et_core_esc_previously( $label ) ); } $output[] = $label; } return implode( esc_html( $separator ), $output ); } /** * Get the title for the current page be it a post, a tax archive, search etc. * * @since 4.0 * * @param integer $post_id Post id. * * @return string */ function et_builder_get_current_title( $post_id = 0 ) { if ( 0 === $post_id ) { $post_id = get_the_ID(); } $post_id = (int) $post_id; if ( ! ET_Builder_Element::is_theme_builder_layout() || is_singular() ) { return get_the_title( $post_id ); } if ( is_front_page() ) { return __( 'Home', 'et_builder' ); } if ( is_home() ) { return __( 'Blog', 'et_builder' ); } if ( is_404() ) { return __( 'No Results Found', 'et_builder' ); } if ( is_search() ) { return sprintf( __( 'Results for "%1$s"', 'et_builder' ), get_search_query() ); } if ( is_author() ) { return get_the_author(); } if ( is_post_type_archive() ) { return post_type_archive_title( '', false ); } if ( is_category() || is_tag() || is_tax() ) { return single_term_title( '', false ); } return get_the_archive_title(); } #Fitness – Page 32 – Coach JC Blog
Make-Ahead Instant Oatmeal Jars

Make-Ahead Instant Oatmeal Jars

Looking for a healthy plan ahead breakfast meal to take to work or for your kids? Make you own instant oatmeal and save some money and be prepared! Ingredients: 1/2 cup uncooked quick oats 1 pinch salt 1/8 teaspoon cinnamon spice 1 tablespoon dried cranberries (or...

Grilled Eggplant Parmesan

Grilled Eggplant Parmesan

Grilling gives eggplant a smoky flavor, and eliminating the frying makes this outdoor version of Eggplant Parmesan light and fresh tasting. Use freshly grated Parmesan cheese and the ripest summer tomatoes you can find for this outdoor take on the traditional dish....

Mason Jar Quinoa Salad

Mason Jar Quinoa Salad

Take your lunch in a jar....be prepared! Ingredients: for the salad dressing: 1/2 cup Greek yogurt 2 tablespoons rice vinegar 1/2 cup cilantro 1 lime , juiced Salt and pepper to taste 2 tablespoons olive oil 1 garlic clove, minced 1/2 teaspoon cumin for the salad: 2...

Skinny Chicken Parmesan

Skinny Chicken Parmesan

Want to indulge in chicken Parmesan while still skimping on the calories and fat? Ingredients: Cooking spray or oil mister 3 boneless, skinless chicken breasts (8 ounces each), fat trimmed 3⁄4 teaspoon kosher salt 1⁄2 cup seasoned whole wheat bread crumbs, homemade or...

[instagram-feed]