I have two product categories for my woocommerce product:
"grade-11" "grade-12"
I'm trying to extract the numbers alone and output them in a div. So I only need "11" or "12".
Here's part of the loop in my function:
function featured_courses_query() {
$meta_query = WC()->query->get_meta_query();
$tax_query = WC()->query->get_tax_query();
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
$args = array(
'post_type' => 'product',
'stock' => 1,
'showposts' => 3,
'orderby' => 'rand',
'order' => 'DESC',
'meta_query' => $meta_query,
'tax_query' => $tax_query
);
$featured_query = new WP_Query( $args );
if ($featured_query->have_posts()) :
$html_out = '<ul class="products x-block-grid three-up">';
while ($featured_query->have_posts()) :
$featured_query->the_post();
$product = get_product( $featured_query->post->ID );
$course_title = get_the_title($post->ID);
$course_level = get_field( "course_level" );
$course_id = get_field( "course_id" );
$course_icon = get_field( "course_icon" );
$excerpt = get_the_excerpt($post->ID);
$url = get_permalink();
$queried_object = get_queried_object();
$taxonomy = $queried_object->taxonomy;
$term_id = $queried_object->term_id;
$term = get_term( $id, $taxonomy );
$slug = $term->slug;
$explodedSlug = explode('-', $slug);
// Output product information here
$html_out .= '<li class="product type-product status-publish no-post-thumbnail first instock featured taxable shipping-taxable product-type-simple"><div class="entry-product">';
$html_out .= '<div class="course-level">' . $explodedSlug[1] . '</div>';
if( $course_icon ):
$html_out .= '<div class="course-icon"><img src="' . $course_icon . '" alt="' . $course_title . '"></div>';
endif;
$html_out .= '<h4><a href="' . $url . '">' . $course_title . '</a></h4><p>' . $course_level . " - " . $course_id . '</p><p>' . $excerpt . '</p>';
$html_out .= '</div></li>';
endwhile;
$html_out .= '</ul>';
else : // No results
$html_out = "No Courses Found.";
endif;
wp_reset_query();
return $html_out;
}
add_shortcode( 'featured_courses', 'featured_courses_query' );
I've never exploded anything before, that and I don't think I'm getting the slug properly. Something is definitely wrong in my function.