Respuesta en castellano-latino:
Para limitar la cantidad de post de todos los usuarios a, digamos N posts yo hice lo siguiente:
Modifique el archivo post-new.php de esta forma:
<?php
/**
* New Post Administration Panel.
*
* @package WordPress
* @subpackage Administration
*/
/** Load WordPress Administration Bootstrap */
require_once(‘admin.php’);
$title = __(‘Add New Post’);
$parent_file = ‘edit.php’;
$editing = true;
wp_enqueue_script(‘autosave’);
wp_enqueue_script(‘post’);
if ( user_can_richedit() )
wp_enqueue_script(‘editor’);
add_thickbox();
wp_enqueue_script(‘media-upload’);
wp_enqueue_script(‘word-count’);
if ( ! current_user_can(‘edit_posts’) ) {
require_once (‘./admin-header.php’); ?>
<div class=”wrap”>
<p><?php printf(__(‘Since you’re a newcomer, you’ll have to wait for an admin to add the edit_posts
capability to your user, in order to be authorized to post.
You can also e-mail the admin to ask for a promotion.
When you’re promoted, just reload this page and you’ll be able to blog. :)’), get_option(‘admin_email’)); ?>
</p>
</div>
<?php
include(‘admin-footer.php’);
exit();
}
//limitar la cantidad a N posts
$N = 20; max 20 posts por usuario
$count_posts = count(get_posts(array(‘author’=>$user_ID)));// retorna la cantidad de post escritos por el usuario correspondiente a $user_ID
if ($count_posts >= N){
Header(“Location: index.php”);//redirecciona al dashboard, en donde deberia indicarle al usuario que no puede crear un nuevo post
}
//fin de la modificacion
// Show post form.
$post = get_default_post_to_edit();
include(‘edit-form-advanced.php’);
include(‘admin-footer.php’);
?>
Para poder limitar los posts por cada usuario seria necesario cambiar el N del codigo anterior por un campo especifico que pertenezca a cada usuario…
Estoy trabajando en ello…