Jed La Rosa
Jed La Rosa

Reputation: 57

How to check the body tag if it has a class name of "single-product" using php?

I need an if statement that checks the body tag if it has a class name of "single-product" using php? I need to echo a function in a single product page only of woocommerce of wordpress.

This is the code that I would like to show only for single product pages that uses woocommerce.php

<div id="from_product_page">
  <?php 
  $recent = new WP_Query("page_id=235"); 
  while($recent->have_posts()) : $recent->the_post();?>
    <?php the_title(); ?>
    <?php the_content(); ?>
  <?php endwhile; ?>
</div>

Upvotes: 1

Views: 8715

Answers (3)

Akshay Paghdar
Akshay Paghdar

Reputation: 3629

You can do something like this:--

$body_classes = get_body_class();
if(in_array('single-product', $body_classes))
{
    //Single product page
} else {
    //Other Page
}

get_body_class() will return all body classes with array...

Upvotes: 9

SagarPPanchal
SagarPPanchal

Reputation: 10111

Example of conditioning

 if($your_varname == 'single-product'){  //your condition
       //your criteria
    }

Upvotes: 0

BarryDevSF
BarryDevSF

Reputation: 405

PHP can't detect the body tag class of the current page, but you could use javascript or jquery to detect it and then trigger an ajax call to a php. You may be to use a client-server-client sequence.

<script>
if ( $('body').hasClass('single-product') ) { 
    $('#some_input').val('single-product');
}

$.getJSON( 'gAjax.php?whatever=' + $('#whatever').val(), null, function(jdata) {

var jObj = $.parseJSON(jdata);  //RETURNED DATA

...    
<script>

Upvotes: 0

Related Questions