如何设置Wordpress中任何特定自定义帖子类型允许的最大帖子数

时间:2014-05-26 04:41:50

标签: php wordpress

我的Wordpress主页上有一个图像滑块,我创建了一个简单的自定义帖子类型home_image_slider,它只有2个字段,即。图片网址图片标题。

现在因为我只想在我的主页滑块上显示最多5张图片,我想要一个简单的解决方案,我可以限制管理员添加超过5张图片,或者你可以说5张帖子到这个自定义帖子类型(因为我需要在滑块上只显示5个图像,允许管理员添加超过5个帖子没有意义。)

2 个答案:

答案 0 :(得分:2)

我们可以在/wp-admin/post-new.php开头检查:

add_action('load-post-new.php', 'limit_cpt_so_23862828' );

function limit_cpt_so_23862828()
{
    global $typenow;

    # Not our post type, bail out
    if( 'home_image_slider' !== $typenow )
        return;

    # Grab all our CPT, adjust the status as needed
    $total = get_posts( array( 
        'post_type' => 'home_image_slider', 
        'numberposts' => -1, 
        'post_status' => 'publish,future,draft' 
    ));

    # Condition match, block new post
    if( $total && count( $total ) >= 5 )
        wp_die(
            'Sorry, maximum number of posts reached', 
            'Maximum reached',  
            array( 
                'response' => 500, 
                'back_link' => true 
            )
        );  
}

也许您可以允许草稿帖子,并确保您只在'numberposts' => 5WP_Query的前端设置get_posts中提取了5张幻灯片。

答案 1 :(得分:0)

实际上限制自定义帖子类型没有意义,通常他们不会这样做。无论如何您想将滑块限制为5,使用主题选项页面可能是更好的方法。您可以手动尝试或使用适当的主题选项框架,如

Options framework

Official Documentation

ThemeForest Discussion

Option Tree

Redux