Pass data between pages

时间:2012-09-01 作者:zigzag

你将如何解决这个问题?

在一个贴子页面(single.php)上,我需要呼应出导致它的分类法的名称。因此,如果我浏览某个分类法中的帖子列表并单击某个帖子,我需要在该帖子页面(single.php)上显示之前查看过的分类法名称,这将导致出现帖子页面。

分类相册。php

分类法歌曲。php

仅有一个的php

有没有办法不使用GET、POST或COOKIE方法?

3 个回复
SO网友:Mathias

如果有一个REFERER($\\u SERVER[\'HTTP\\u REFERER\',,它不是最好的,但可以在这里完成这项工作),您可以按照Mark的建议检索分类法,并且在循环中只显示与REFERER对应的on。

SO网友:xyz

wordpress帖子可以使用wp_get_object_terms() 作用

例如,如果希望一篇文章显示album 它所属的分类法,您可以使用:

wp_get_object_terms( $post->ID, \'album\' );
这将返回一个包含此帖子连接到的所有相册的数组。

可以按如下方式显示该数组:

// Load all albums for this post into a variable
$albums = wp_get_object_terms( $post->ID, \'album\' );

// Loop through all albums and print their names
foreach( $albums as $album ){
    echo $album->name; 
}
有关更多信息,请访问wp_get_object_terms documentation page.

当然,在您的情况下,您最好创建一个表示歌曲的自定义帖子类型,并使用album 分类学

如果有帮助,请告诉我!

SO网友:Matthew Brown aka Lord Matt

您可以在主题中添加一个GET参数,然后在下一页中选择它。我猜是这样的。

 <a href="<?php the_permalink() ?>?source=<?php single_cat_title(); ?>">
然后您有(不要在家里尝试此方法未初始化的数据对您有害):

 <?php if(isset($_GET[\'source\'])){ ?>
 <p>You came from <?php echo $_GET[\'source\']; ?></p>
 <?php } ?>

 <?php
 $cat = get_term_by( \'name\', $_GET[\'source\'], \'category\' );
如果你想用它做点什么。其他选项包括获取ID或slug,两者都可以用于get_term_by(...).

显然,您希望在使用之前清理GET数据,但将数据放入URL的原理就像一个简单的面包屑系统。

如果您想获得更多乐趣,可以将当前类别推送到cookie中,并在发送标题之前在某个位置挂接一个函数。原则是一样的,但这种黑客行为更简单(尤其是在欧盟有cookie法律的国家)。

结束

相关推荐

POSTS_NAV_LINK()在index.php上不工作

我对posts_nav_link() 函数的索引。php。它可以工作,但不显示旧帖子。当有人点击“下一页”链接时,第一页上的相同帖子正在加载。这是我正在使用的代码:<?php if ( is_home ()) {$myquery = new wp_query(\'cat=-41\');}?> <?php global $wp_query; $temp_wp_query = $wp_query; $wp_query = null;&