【问题标题】:How to display content based on post author?如何根据帖子作者显示内容?
【发布时间】:2015-01-03 14:07:59
【问题描述】:

我知道 Jetpack 的“小部件可见性”选项可用于在特定作者页面上显示小部件。我希望能够在我的主题模板文件中执行此操作。

条件标签列表可以选择查看一个人是否在特定作者的存档页面上,但似乎不能检查帖子的特定作者是谁。

这基本上是我想做的:

如果作者是 Mr. Incredible,请显示一些 html。如果作者是夫人 不可思议,显示不同的 html。

这可能吗?我想它应该是,但我还没有找到任何方法。

【问题讨论】:

    标签: wordpress if-statement theming author


    【解决方案1】:

    当然!你的问题陈述是一个很好的开始。让我们把它翻译成实际的代码:

    如果作者是 Mr. Incredible,请显示一些 html。如果作者是 Mrs. Incredible,显示不同的 html。

    变成:

    if ( is_author('Mr. Incredible Nickname or ID') ) {
        // echo some HTML
    } elseif ( is_author('Mrs. Incredible Nickname or ID') ) {
        // echo different HTML
    } else {
        // if neither, echo something else
    }
    

    代码应该是可读的,就像问题陈述一样。

    你可以阅读更多关于is_author()in the Codex的信息。

    另外,如果需要查看个别帖子的作者,可以使用get_the_author()

    【讨论】:

    • 感谢您的“翻译”——这看起来正是我正在寻找的,因为我可以一次性为网站上的所有作者完成翻译。您是否建议将 php 放入 single.php 或像上面建议的 Fatih Sari 那样调用模板文件?
    • 这完全取决于您。就个人而言,我认为将其直接粘贴到您的 single.php 或任何正在运行它的文件中都没有问题
    • 我会看看什么效果最好 - 我使用的是高级主题,它使用了很多自定义功能。
    • 很好,请选择一个答案来结束这个问题。
    【解决方案2】:
    1. 您可以获得帖子作者 ID。
    2. 使用它,获取作者昵称或etc...
    3. 然后用这个检查你的需求。

    给你的提示:

    在 single.php 中

    <?php
       $ID = $post->post_author;
       $nickname = get_the_author_meta('nickname', $ID);
       if($nickname == "fors")
          include(TEMPLATEPATH . '/fors-template.php');
       else
          include(TEMPLATEPATH . '/single-default.php');
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多