Solved

Searching for a specific value in a Wordpress Category Array

Posted on 2010-11-16
9
319 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
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

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

WordPress can be pretty daunting, especially for a beginner, so I thought it might be a good idea to write an article to show how easy it is to get started in WordPress and to design a custom theme.  The first step is to check with your hosting comp…
In order to have all security and back ups taken care of, WordPress users can sign up for services with WP Engine.
The purpose of this video is to demonstrate how to Test the speed of a WordPress Website. Site Speed is an important metric of a site’s health. Slow site speed can result in viewers leaving your site quickly and not seeing your content. This…
The viewer will learn how to count occurrences of each item in an array.

708 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

20 Experts available now in Live!

Get 1:1 Help Now