Solved

Searching for a specific value in a Wordpress Category Array

Posted on 2010-11-16
9
320 Views
Last Modified: 2012-05-10
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

0
Comment
Question by:LZ1
  • 4
  • 4
9 Comments
 
LVL 14

Expert Comment

by:Dzynit
ID: 34146848
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

0
 
LVL 30

Author Comment

by:LZ1
ID: 34146880
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.
0
 
LVL 30

Author Comment

by:LZ1
ID: 34148640
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?
0
 
LVL 14

Assisted Solution

by:Dzynit
Dzynit earned 500 total points
ID: 34149373
I'm not sure in that case unless the tables use different prefixes per site. Maybe adding an extra conditional to check if it's the right site first then check the cat id?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 30

Author Comment

by:LZ1
ID: 34149401
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.
0
 
LVL 14

Expert Comment

by:Dzynit
ID: 34149651
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

0
 
LVL 30

Author Comment

by:LZ1
ID: 34149752
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

0
 
LVL 14

Accepted Solution

by:
Dzynit earned 500 total points
ID: 34149934
That sounds like an easier solution.
0
 
LVL 15

Expert Comment

by:AndyBeard
ID: 34154391
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">
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
This video teaches users how to migrate an existing Wordpress website to a new domain.
The purpose of this video is to demonstrate how to prevent comment spam on a WordPress Website. This will be demonstrated using a Windows 8 PC. Plugin Akismet will be used. Go to your WordPress login page. This will look like the following: myw…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now