php - 我可以在 Wordpress 编辑器中将 3 个最近帖子的列表动态输出到默认文本中吗?
问题描述
我希望有人可以帮助我学习如何实现这一目标。
我的想法是从一个类别(热门帖子)中生成一个包含 3 个最近帖子的列表,作为 wordpress 编辑器中的默认文本。
我查看了几种解决方案来实现类似的东西,并将它们混合到下面的代码中,但它似乎不起作用。
add_filter('default_content', 'tp4567_default_list');
function tp4567_default_list( $content ) {
$content = new WP_Query( 'cat=2&posts_per_page=3' );
return $content;
}
请问有什么办法可以实现吗?
解决方案
在functions.php中试试这个代码,它会工作。
add_filter( 'default_content', 'wp_my_default_content', 10, 2 );
function wp_my_default_content( $content, $post )
{
// get the posts
$posts = get_posts(
array(
'numberposts' => 3
)
);
// No posts? run away!
if( empty( $posts ) ) return '';
$content = '<ul>';
foreach( $posts as $post )
{
$content .= sprintf(
'<li><a href="%s" title="%s">%s</a></li>',
get_permalink( $post ),
esc_attr( $post->post_title ),
esc_html( $post->post_title )
);
}
$content .= '</ul>';
return $content;
}
推荐阅读
- scala - Scala 混合特征分配兼容性(层次结构)
- android - “基本活动”、Android Studio 3.1.4、API 28、Ubuntu 16.04 中的渲染问题
- c++ - 在一个字符串中多次查找相同的字符串
- php - PHP 无法播放 .m3u8 直播
- javascript - 尝试打开未安装的应用程序时如何防止 iOS Safari 错误警报?
- sql - 在 SQL 中选择 Unicode 的范围
- python - 在 Python 3.5 中用大括号包围的单词解析字符串到数组
- c# - 使用 C# 使用 ESC/POS 命令在 EPSON LX-300+II 上打印图像
- android - 自定义对话框中的按钮问题(在 RecyclerView 适配器中创建)
- php - 如何在 Laravel 中更改格式化日期时间的语言