Prot Haładaj

Prot Haładaj Programmers manager
& solutions
designer. Apps &
applicat...

Temat: różny kontent dla zalogowanego użytkownika w zależności...

korzystam z wtyczki Post From Site.
chce ograniczyć możliwą ilość dodanych postów per użytkownik do 1.
Ale ponieważ Post From Site nie jest przygotowany na taką okoliczność wymyśliłem, że można by spróbować zrobić redirect po dodaniu tego jednego wpisu.

znalazłem taki kod:

if ( !current_user_can('manage_options') ) {

$default = 1; // default number of posts

$count_posts = 0;

global $wpdb;

$poststable = $wpdb->prefix.'posts';

$postlimit = get_user_meta($current_user->id, 'postlimit', true);

if ( $postlimit == '' ) $postlimit = $default;

$query = "SELECT COUNT(*) FROM $poststable WHERE post_author = '$current_user->id' AND (post_status = 'pending' OR post_status = 'draft' OR post_status = 'publish' ) ";

$count_posts = $wpdb->get_var($query);

if ($count_posts >= $postlimit) {

if ( $_SERVER['REQUEST_URI'] == '/wp-admin/post-new.php' )

Header("Location: index.php");//redirects to dashboard

if ( is_admin() ){

$stylesheet = get_stylesheet_directory_uri() . '/css/limitposts.css';

wp_register_style('limitpost_admin_css', $stylesheet, false, '1', 'screen');

wp_enqueue_style('limitpost_admin_css');

}

$current_user->set_role( 'subscriber');

}

}



// add post limit option to profile

add_filter('user_contactmethods','hide_profile_fields',10,1);



function hide_profile_fields( $contactmethods ) {

if( current_user_can( 'manage_options' ) )

$contactmethods['postlimit'] = 'Post Limit';

return $contactmethods;

}

http://wpquestions.com/question/show/id/1691

czy wywalenie z niego końcówki do takiej postaci:

if ( !current_user_can('manage_options') ) {

$default = 1; // default number of posts

$count_posts = 0;

global $wpdb;

$poststable = $wpdb->prefix.'posts';

$postlimit = get_user_meta($current_user->id, 'postlimit', true);

if ( $postlimit == '' ) $postlimit = $default;

$query = "SELECT COUNT(*) FROM $poststable WHERE post_author = '$current_user->id' AND (post_status = 'pending' OR post_status = 'draft' OR post_status = 'publish' ) ";

$count_posts = $wpdb->get_var($query);

if ($count_posts >= $postlimit) {

if ( $_SERVER['REQUEST_URI'] == '/page-z-osadzonym-post-from-site' )

Header("Location: /page-brak-mozliwosci-dodania");//redirects to dashboard
}

}


pozwoli uzyskać potrzebne mi rozwiązanie?
a może są jakieś inne pomysły lub gotowe pluginy do tego?
:)Prot Haładaj edytował(a) ten post dnia 23.08.12 o godzinie 13:52

konto usunięte

Temat: różny kontent dla zalogowanego użytkownika w zależności...

Możesz skorzystać z wtyczki KLIK ...tutaj jest fix do niej, który może się przydać KLIK
Konrad Karpieszuk

Konrad Karpieszuk WordPress Plugin
Compatibility
Assurance for WPML

Temat: różny kontent dla zalogowanego użytkownika w zależności...

Prot Haładaj:

$query = "SELECT COUNT(*) FROM $poststable WHERE post_author = '$current_user->id' AND (post_status = 'pending' OR post_status = 'draft' OR post_status = 'publish' ) ";

imo cały kawałek odnosnie sprawdzania post_status mozna usunac, bo i tak wybiera on wszystkie wpisy ;)

caly kod wyglada ok, ale zalezy gdzie ma byc uzyty. jesli w momencie wejscia na strone dodawania wpisu, to za malo. user moze sobie podpatrzec w jakich parametrach przesylana jest tresc wpisu do publikacji i potem jakims CURLem przesylac to ci z automatu. sprawdzanie tez zastosuj przed wp_insert_postKonrad Karpieszuk edytował(a) ten post dnia 23.08.12 o godzinie 19:46



Wyślij zaproszenie do