【问题标题】:Wordpress - add category to index.phpWordpress - 将类别添加到 index.php
【发布时间】:2016-07-09 02:07:56
【问题描述】:

我为“本周歌曲”设置了一个类别。在我的网站的桌面版本中,它作为小部件出现在侧边栏中。

但是,我正试图在我的移动网站上显示它。以前我的主题制作者让我将代码添加到index.php 以向我的移动网站添加搜索栏。

到目前为止,我已经尝试使用“widget shortcode”插件来添加类别。

我尝试将以下内容添加到我的 index.php:

<?php 
    echo do_shortcode(widget id="rpwe_widget-6");
?>

但是当我这样做时,我得到一个 500 错误。

将类别(1 个帖子)添加到 index.php 的正确 PHP 代码是什么?

我知道这种短代码方法不是正确的方法,但我不确定还能做什么。

【问题讨论】:

    标签: php wordpress widget categories


    【解决方案1】:

    您可以通过使用循环并给它一个参数来查找帖子。在您的情况下,您需要找出要显示的类别的 ID。为此,请转到您的类别概览并将鼠标悬停在您要显示的类别上。

    然后您会在浏览器底部看到一个链接,类似于:

    http://www.yourdomain.com/wp-admin/term.php?taxonomy=category&tag_ID=1&post_type=post...
    
    the part with category&tag_id=X
    

    X 是您要显示的类别的 ID。然后在你的 front-page.php、home.php 或 index.php 中,你可以使用以下代码查询数据库(所以是的,把它放在你的模板文件中):

    <?php
        // Feed PHP with the information you want to show, in our case: a certain category = use of the id, number = amount of posts to show
        $catquery = new WP_Query( 'cat=3&posts_per_page=1' );
        // Let WordPress run the loop for you
        while($catquery->have_posts()) : $catquery->the_post();
    ?>
    <!--Inside the loop, you can use the WP template tags to show the stuff you want, like author, exerpt of the post etc. -->
    <h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
    <p><?php the_excerpt(); ?></p>
    <?php endwhile; ?>
    <?php // Don't forget to reset the query (clean the data after it is finished) ?>
    <?php wp_reset_query(); ?>
    

    为了帮助您解决问题:查找类别 ID,在圆括号中输入数字其中表示 cat=3(3 是示例类别)。然后将代码复制到你的主题中你想要的地方,看看你得到了什么:)

    希望你的结果。

    这个小查询将为您提供:

    帖子的链接标题和摘录(帖子的简短预览)。 要显示更多标签/信息,请访问 WordPress Codex 或像这样进行 goole 搜索:http://blog.teamtreehouse.com/wordpress-loop-beginners-guide

    【讨论】:

    • 感谢您的帮助,user2521387!为了让我今天暂时通过,我使用了 Fencer04 发布的更正的简码方法。我将在本周晚些时候测试此方法,因为我需要运行的插件少了一个!
    • 这个方法有效!!我有一个后续问题,我知道可能需要一个新帖子。当我使用简码/小部件方法时,在我的 css 中我能够做到:} .rpwe-title &gt; a { color: #fff; font-family: "league_gothicregular" !important; font-size: 23px; } .rpwe-title { padding-bottom: 10px !important; padding-top: 10px !important; } .rpwe_widget-6 { margin-bottom: 8px; } } 在我的 css 中进行格式化。我将如何在我的 css 中格式化这段代码?
    【解决方案2】:

    您在代码中缺少括号和一些引号。试试这个:

    <?php echo do_shortcode('[widget id="rpwe_widget-6"]'); ?>
    

    【讨论】:

    • 谢谢你,Fencer04,这确实修复了简码方法!我将暂时使用它,直到我有机会使用循环测试 user2521387 的方法。
    • 请接受这个答案,这样我才能得到信用。这是您所提问题的正确答案。
    • 此方法最初有效。但是,当该类别中的项目发生更改时,更改会显示在桌面设备上,但移动设备似乎没有更改。
    • 您在页面上有任何缓存设置吗?如果您愿意,我很乐意为您看一看。
    • 我没有缓存设置,这就是为什么我对为什么它不会改变感到困惑。我认为这可能是“小部件短代码”插件中的一个小问题,或者它是一个“rpwe”的问题,该小部件是一个“最近的帖子扩展小部件”,而不仅仅是一个普通的小部件类别。(我希望我解释了这一点对)我最终使用了下面的 PHP 方法,它工作正常。现在我只需要弄清楚如何在主页上获取它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多