使用Get_the_Terms拉入分类链接?

时间:2013-03-04 作者:lorne17

我对获取当前帖子类别(自定义分类法公文包类别)的get\\u the\\u terms php有问题。我可以成功进入最后一类。

如果查看此页面,您将看到顶部的链接:http://www.slarc.com/portfolio-view/central-control-building-east-texas/ 这些链接是通过get\\u the\\u ters\\u列表拉入的,但这些链接没有:www.slarc。com/it前面的项目。在那里我需要它跳转到一个具有相同段塞的页面。这就是为什么我开始使用下面的代码。它是可行的,但它只引入了一种分类法?这是页面上的第二行链接:http://www.slarc.com/portfolio-view/central-control-building-east-texas/

PHP代码:ID,“portfolio\\u category”);

                if ( $terms && ! is_wp_error( $terms ) ) : 

            $portfolio = array();

            foreach ( $terms as $term ) {
                $portfolio[] = $term->name;
            }

            $portfolio_category = join( " | ", $portfolio );
        ?>

            <h3 id="Proj_Categories"><ul>
                <?php echo \'<a href="http://www.slarc.com/projects/\'.$term->slug.\'">\'.$term->name.\'</a>\'; ?>
            </ul></h3>

        <?php endif; ?>
我怎样才能把所有的分类法都拉进去??

仅供参考,忽略顶部显示的链接。这些是随get\\u the\\u terms\\u列表带来的

但这些需要http://www.slarc。com/链接前面的项目。

谢谢,洛恩

编辑(获得了工作代码,谢谢jfacemyer!):

PHP代码:ID,“portfolio\\u category”);

                if ( $terms && ! is_wp_error( $terms ) ) : 

            $portfolio = array();

            foreach ( $terms as $term ) {
                $portfolio[] = $term->name;
            }

            $portfolio_category = join( " | ", $portfolio );
        ?>

        <h3 id=\'Proj_Categories\'>
        <?php
            $url = site_url();
                foreach ( $terms as $term ) {
                    $linklist .= "<li><a href=\'" . $url . "/projects/" . $term->slug . "\'>" . $term->name . "</a></li>\\n";
                }
            echo "<ul>" . $linklist . "</ul>";
        ?>
        </h3>

        <?php endif; ?>

2 个回复
最合适的回答,由SO网友:jfacemyer 整理而成

您需要在foreach中包含html,如下所示:

$url = site_url();
foreach ( $terms as $term ) {
    $linklist .= "<h3 id=\'Proj_Categories\'><a href=\'" . $url . "/projects/" . $term->slug . "\'>" . $term->name . "</a></h3>\\n";
}
echo "<ul>" . $linklist . "</ul>";
(我没有检查此代码…)

看起来您正试图创建一个链接数组,可能是通过管道连接作为分隔符?若是这样的话,请使用术语创建数组,然后使用该数组执行另一个foreach并创建链接。

看起来你只收到一个条件,因为你打电话$term (不确定设置在哪里,在第一个循环之外),而不是在术语数组中循环。

SO网友:Tom Doggett

您不需要构建URL,只需获得术语的永久链接,如下所示:-

get_term_link($term->term_id)

结束

相关推荐

404 to 301 - Fixing old links

我目前更新了一个网站,并对其进行了许多改进。旧站点运行了3个不同的系统,在webroot中有wordpress(和其他系统)。我已经将wordpress移动到了一个子目录(wordpress),并且我还更新了我的博客文章,以blog/作为前缀。页面和首页没有以blog/作为前缀。我遇到的问题是,我想优雅地告诉谷歌和其他搜索引擎,这些帖子现在的前缀是/blog/。在我意识到wordpress抛出404头之前,我在404页面中使用了以下代码。显然,这不是实现此修复的正确方法。// Check if old s