2014-10-28 4 views
0

Хорошо, я не уверен, если я сформулировал заголовок правильно, но в основном у меня есть сообщения в пользовательских категориях, и я хочу получить текущую должность и сделать что-то ,Wordpress проверить, есть ли пост в категории, а затем сделать это ... используя пользовательские категории

Так, например: если текущий пост в tag_id 15, говорят «ваш в категории вегетарианской»

это то, что им с помощью:

http://www.example.com/wp-admin/edit-tags.php?action=edit&taxonomy=food_category&tag_ID=15&post_type=vegetarian

любая помощь будет большим, спасибо вы

+1

Ваш вопрос меня смущает. я не могу решить, о чем вы говорите. вы упомянули категорию, тогда вы говорите 'tag_id', и если я проверю вашу ссылку, я вижу, что« вегетарианство »является обычным типом сообщения, а категория« food_category » – vaso123

+0

yh извините, я, возможно, назвал это плохо ... в основном мне нужно знать, находится ли текущий пост в food_category & tag_ID = 15 & post_type = вегетарианский, затем «сделать что-то» – user3082412

+0

, тогда вы можете использовать переменные $ _GET. 'if ($ _GET [" таксономия "] == 'food_category' && $ _GET [" tag_ID "] == 15 && $ _GET [" post_type "] == 'vegetarian') {// сделать что-то}' – vaso123

ответ

1

WordPress имеет встроенную функцию для этого: in_category($category, $_post) (используется внутри цикла):

<?php if(in_category('vegetarian')): ?> 
    You're in the vegetarian category 
<?php endif; ?> 

Это хорошо для конкретного случая использования. Если вы всегда хотите, чтобы он выплюнул ваш «Вы в категории [категория]» для каждой категории, включая будущие, вы должны использовать get_the_category($id), как этот пример (внутри цикла).

<?php 
$categories = get_the_category($id); 
if($categories){ 
    // Assumes you just want the first category 
    print 'You&#8217;re in the ' . $categories[ 0 ]->name . ' category'; 
} 
?>