【问题标题】:Show last modified posts based on post category in wordpress根据 wordpress 中的帖子类别显示最后修改的帖子
【发布时间】:2018-01-12 00:40:39
【问题描述】:

正如标题所说,我对基于当前帖子类别的最后修改帖子的输出有疑问。我找到了基于最后修改的帖子或类别的解决方案,但不是两者兼而有之。

由于我是一名插画家/设计师,更了解 HTML 和 CSS,所以我不知道如何在 php.ini 中将这些放在一起。对于熟悉编码的人来说,我敢肯定,这是几秒钟的问题。我现在拥有的是这样的:

function wpb_lastupdated_posts() { 

// Query Arguments

$lastupdated_args = array(
'orderby' => 'modified',
'ignore_sticky_posts' => '1',
'showposts' => 2
);

//Loop to display 5 recently updated posts
$lastupdated_loop = new WP_Query( $lastupdated_args );
$counter = 1;
$string .= '<ul>';
while( $lastupdated_loop->have_posts() && $counter < 5 ) : 
$lastupdated_loop->the_post();
$string .= '<li><a href="' . get_permalink( $lastupdated_loop->post->ID 
) . '"> ' .get_the_title( $lastupdated_loop->post->ID ) . '</a> ( '. 
get_the_modified_date('d.m,') . get_the_modified_time() .' ) </li>';
$counter++;
endwhile; 
$string .= '</ul>';
return $string;
wp_reset_postdata(); 
} 

//add a shortcode
add_shortcode('lastupdated-posts', 'wpb_lastupdated_posts');

我在侧边栏中添加了短代码,它按预期显示了我最后修改的帖子,但不幸的是它缺少 based-on-category-in-which-the-post-is-php。

有人可以帮我解决这个问题吗? 谢谢

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    更新您的简码以接受类别 ID 的参数。

    在您的 wp 查询参数上,使用该 ID。

    function wpb_lastupdated_posts( $atts ) { 
    
    // Query Arguments
    
    $lastupdated_args = array(
     'orderby' => 'modified',
     'ignore_sticky_posts' => '1',
     'showposts' => 2,
     'cat' => $atts['catid']
    );
    

    调用简码时,传递当前的类别 id。

    [lastupdated-posts catid="current_cat_id_here"]
    

    【讨论】:

    • 谢谢凯文。这可能是解决方案的一部分。但我需要自动输出最后更新的帖子,最好的动态(基于子或父类别 - 帖子所在的位置)。以便将类别类传递给最后更新的帖子(我希望我认为方向正确)。也许对短代码有这样的调整:[lastupdated-posts catid='---身体目前拥有的类别---']
    • @Lukasz 获取当前帖子的类别,您可以使用 wordpress 的“get_the_category( )”函数。将当前 ID 传递给此函数。要获取当前帖子 ID,您可以使用“get_queried_object_id()”。 get_the_category( get_queried_object_id() )。这将返回一个 WP_Term 对象数组,分配给帖子的每个类别一个。然后您可以循环它以获取类别 IDS。
    • 这听起来不错。如前所述,我对 php 不是很熟悉,所以有了这个给定的信息,我不能把它放在 php 中。您能否提供一个示例-sn-p 如何以及在何处放置它?我应该把它放在我现有的函数“wpb_lastupdated_posts”中吗?
    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多