Link to home
Start Free TrialLog in
Avatar of LZ1
LZ1Flag for United States of America

asked on

Searching for a specific value in a Wordpress Category Array

Hey Experts!!

My overall goal is to be able to show a different image based on a certain category name in Wordpress.  I'm hard coding this since we're not allowed to use plugins.(I don't know why).

My code is below.  What I've been doing is getting the category array and then if the 2nd iteration of that array(2nd category)is equal to whatever I have set, then show an image.  The fundamental flaw with this is that the 2nd iteration of the categories array will not always contain the value I'm searching for.  

What I thought I could do is search the array, using array_search, to find the exact name I'm looking for.  I just have no idea how to set that up.

Any and all help is appreciated. Code that I have so far is below:
<?php 
				$category = get_the_category($id);
				if($category[1]->name == 'name1') //name1
					echo ('<a href="http://mydomain.com/">
							<img src="goes here" />
						</a>');
				elseif($category[1]->name == 'name2') //name2
					echo ('<h1>name2</h1>');			
				elseif($category[1]->name == 'name3') //name3
					echo ('<h1>name3</h1>');
				elseif($category[1]->name == 'name4') //name4
					echo ('<h1>name4</h1>')
			?>

Open in new window

Avatar of Heather Ritchey
Heather Ritchey
Flag of United States of America image

Have you tried using the is_category('id'); call instead?
You can refer to the reference page here for different ways to check (by id #, name, etc):
http://codex.wordpress.org/Function_Reference/is_category

Avatar of LZ1

ASKER

Doing that still only gives me the 1st array's id.  This is not always consistent.  I've found that the value I'm checking for can sometimes be 3 or 4 deep.
Avatar of LZ1

ASKER

After digging deeper on our end, I realized we cannot do what I'm asking with just the categories.  We have multiple sites under 1 WP install and several of our categories are overlapping other sites.

Suggestions?
SOLUTION
Avatar of Heather Ritchey
Heather Ritchey
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of LZ1

ASKER

Unfortunately the tables are standard WP installs.  They have 1 wordpress install for 19 different websites.  Unfortunately I don't think this is going to be as easy as I once thought.
Give it a try adding a second conditional:
if (strpos(get_bloginfo('url'),"domain.com") != false) && is_category('x')) {
echo 'your pic';
}

Open in new window

Avatar of LZ1

ASKER

Actually Dzynit, this ended up working.  Because I'm not always looking for the category, it's shorter and I think easier to search on the URL.

Let me know your thoughts.
<?php
	$url = $_SERVER['HTTP_HOST'];//gets current page url
	if (stristr($url, 'mydomain1.com') == true)
		echo ('<a href="http://mydomain.com/">
			<img src="http://content-1.s3.amazonaws.com/images/skis/tag-cloud.jpg" alt="Save On Packages" title="Save On Packages"  width="250px"/>
		</a>');
	elseif(stristr($url, 'mydomain2.com') == true)
		echo "Mydomain2.com "; 
	elseif(stristr($url, 'mydomain3.com') == true)
		echo "Mydomain3.com"; 
?>

Open in new window

ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Modern themes effectively have this built in

<div id="post-3290" class="post-3290 post type-post hentry category-google tag-twitter tag-twitter-hacked tag-youtube tag-youtube-hacked">