我有一个非常简单的自定义帖子类型(“weekly\\u mktg\\u report”),它有两个字段-日期(“date”)和附件(“report”)。我创建了一个存档页面,该页面使用
<a href="<?php the_field(\'report\'); ?>" target="_blank">
这会创建一个到附件的链接,而不是实际的自定义帖子,这非常适合我要完成的任务。
我正在尝试在另一个页面上做同样的事情,该页面链接到这些自定义帖子类型的最新附件。
这是我尝试过的,但不起作用
<?php
$args = array(
\'numberposts\' => \'5\',
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'include\' => \'\',
\'exclude\' => \'\',
\'meta_key\' => \'\',
\'meta_value\' =>\'\',
\'post_type\' => \'weekly_mktg_report\',
\'post_status\' => \'publish\'
);
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
echo \'<li><a href="\' . get_permalink($recent["ID=>the_field(\'report\') "]) . \'">\' . $recent["post_title"].\'</a> </li> \';
}
wp_reset_query();
?>
我知道我试图附加get的方式有问题。parmalink转到附件(“报告”),而不是实际的自定义帖子页面。任何帮助都将不胜感激。
最合适的回答,由SO网友:rudtek 整理而成
您不希望链接到实际帖子,请再次使用字段链接:
<?php
$args = array(
\'numberposts\' => \'5\',
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'include\' => \'\',
\'exclude\' => \'\',
\'meta_key\' => \'\',
\'meta_value\' =>\'\',
\'post_type\' => \'weekly_mktg_report\',
\'post_status\' => \'publish\'
);
$recent_posts = wp_get_recent_posts( $args );
echo \'<ul>\'; //i was not sure if you had the list start anywhere else
foreach( $recent_posts as $recent ){
echo \'<li><a href="\'.get_field(\'report\').\'" target="_blank"> </li> \';
}
echo \'</ul>\'; //list end
wp_reset_query(); //have you considered wp_reset_postdata() and using wp_query
?>
我也在代码中添加了一些注释,因为可能会有一些错误。不确定这是否是完整代码。