Wordpress - 获取查询类型(类别,存档,作者等)

时间:2016-01-28 12:20:18

标签: php sql wordpress

E.g 1.当有人点击“策展人”类别时,它会将他们带到策展人类别页面,并显示具有自己特色图像的“策展人”类别的帖子。 要么 2.当有人点击作者“john”时,会将他们带到所有帖子的john页面并显示“john”精选图片。

问题是如何检索这个“策展人”或“约翰”,因为我想将特色图像显示到不同的页面。说提取“john”转到文件夹find john.jpg并用他的标题图像显示他的存档页面。或者转到“资源管理器”类别页面,并使用资源管理器特色图片显示类别页面。

我得到了这个,但它只适用于类别:

<? $cat = get_query_var('cat');
$yourcat = get_category ($cat);
?>
#headerimg {
background-image: url(<?php echo       ithaka_directory_uri() .'/images/'. $yourcat-    >slug .'.jpg'?>);
}

pgk告诉我的是什么:get_queried_object();但没有工作。

<?php $term = $wp_query->get_queried_object(); ?>

#headerimg {
background-image: url(<?php echo ithaka_directory_uri() .'/images/'. $term .'.jpg'?>);
}

它返回“致命错误:在 / home / departur / public_html / wp-content / themes / ithaka /中的非对象上调用成员函数get_queried_object() inc / custom-header.php 在行 97

3 个答案:

答案 0 :(得分:0)

您可以使用get_queried_object()函数link

来自Codex

  

检索当前查询的对象。例如:

     

如果你在一个帖子上,它将返回帖子对象

     

如果你在页面上,它将返回页面对象

     

如果您在存档页面上,它将返回帖子类型对象

     

如果你在类别档案中,它将返回类别对象

     

如果你是作者档案,它将返回作者对象

答案 1 :(得分:0)

好的,我设法从这个网站修复它: http://stanhub.com/display-wordpress-taxonomy-term-name-in-taxonomy-page/

<?php if (is_archive()) { 
$taxonomy = get_queried_object();
?>

#headerimg {
background-image: url(<?php echo ithaka_directory_uri() .'/images/'. $taxonomy->slug .'.jpg'?>);
}

答案 2 :(得分:0)

我的朋友帮我解决了这些问题。它还检查是否存在该文件。如果没有,它将输出默认图像。

<?php
    if (is_archive()) { 
        $taxonomy = get_queried_object();
        if (is_a($taxonomy, 'WP_User'))
            $dataused = $taxonomy->user_nicename;
        elseif (is_a($taxonomy, 'WP_Term'))
            $dataused = $taxonomy->category_nicename;

        if (file_exists($_SERVER['DOCUMENT_ROOT'] .'/wp-content/themes/ithaka/images/'. $dataused .'.jpg'))
            $dataused = ithaka_directory_uri() .'/images/'. $dataused .'.jpg';
        else
            $dataused = $header_image;
    } else
        $dataused = $header_image;
    ?>
        #headerimg {
        background-image: url(<?php echo $dataused; ?>);
    }