Is there a way to check if the current page is the home page from within the head?
My style.php needs the number of posts in the slider, but only on the home page. So I count my posts like this:
<?php
$meta_key = 'teaser';
$posts_per_page = 6;
$sql = "SELECT count(DISTINCT pm.post_id)
FROM $wpdb->postmeta pm
JOIN $wpdb->posts p ON (p.ID = pm.post_id)
WHERE pm.meta_key = '$meta_key'
AND pm.meta_value != ' '
AND (p.post_type = 'post' OR p.post_type = 'page' OR p.post_type = 'ai1ec_event')
AND p.post_status = 'publish'
";
$count = $wpdb->get_var($sql);
if($count > $posts_per_page)
{
$count = $posts_per_page;
}
?>
<link rel="stylesheet" type="text/css" media="all" href="/wordpress/wp-content/themes/roots/style.php?tcount=<?php echo $count;?>" />
I tried to wrap it in an if statement, but is_home() or is_frontpage() do not work.
This is the style.php (Just some relevant parts, to show how it works):
<?php header("Content-Type: text/css");
$seconds_to_cache = 86400;
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";
header("Expires: $ts");
header("Pragma: cache");
header("Cache-Control: max-age=$seconds_to_cache");
?>
<?php
$numTeasers = $_GET['tcount'];
?>
/* =============================================================================
Slider Controls
========================================================================== */
<?php
$max = $numTeasers;
for ($s = 1; $s <= $max; $s++)
{
$next = $s+1;
if($next == $max+1){$next = 1;}
echo "#wdgt_slider #slide".$s.":checked ~ #controls label:nth-child(".$next."){background: url('/wordpress/wp-content/themes/roots/assets/img/slider/next.png') no-repeat scroll 0 0 transparent;display:block;position:absolute;right:0;margin:0 20px 0 0;}";
$prev = $s-1;
if($prev == 0){$prev = $max;}
echo "#wdgt_slider #slide".$s.":checked ~ #controls label:nth-child(".$prev."){background: url('/wordpress/wp-content/themes/roots/assets/img/slider/prev.png') no-repeat scroll 0 0 transparent;display:block;position:absolute;float:left;margin: 0 0 0 20px;}";
echo "#wdgt_slider #slide".$s.":checked ~ #active label:nth-child(".$s."){color:#c2b29e}";
echo "#wdgt_slider #slide".$s.":checked ~ #slides #slide-teaser-".$s." .info, #wdgt_slider #slide".$s.":checked ~ #slides #slide-teaser-".$s."
{
visibility:visible;
width:100%;
height:auto;
opacity:1;
}";
}
?>
@import url(“../adventon/style.css”);
And by the way: Is it bad practice to do such things in the HTML head?
header.php. Please show your code and why you have a style.php file. – kaiser Feb 8 at 10:56style.phpcode? – Chip Bennett Feb 8 at 12:41