在 Wordpress/Timber 中搜索作者的所有帖子

问题描述

我正在尝试使用 Timber 在搜索结果页面显示给定作者的所有帖子。我发现如果我手动输入它会起作用:

/s?&author_name={username}

但我需要在循环中动态创建这些链接,不幸的是,Timber 的用户对象无法访问用户username。按 ID 也行不通 (/s?&author={author_id})。

这里有什么解决方案?

解决方法

我建议您在 Twig 中提供一个函数,它允许您传入作者 ID 并通过 get_author_posts_url() 或访问 WP 用户类返回作者存档链接。

请参阅有关如何实现此目标的文档:

https://timber.github.io/docs/guides/functions/#make-functions-available-in-twig

php

add_filter( 'timber/twig','add_to_twig_author_link' );

function add_to_twig_author_link( $twig ) {
    $twig->addFunction( new Timber\Twig_Function( 'get_author_posts_url','get_author_posts_url' ) );
    return $twig;
};

树枝

{{ get_author_posts_url( author_id ) }}