API Functions
Introduction
Global PHP functions, used to perform essential operations. Reachable from any page or context.
Source code in public_api.php file.
pc_user_logged()
Function used to check wheter user is logged and eventually to retrieve specific data
Usage
pc_user_logged($get_data = true)
Parameters
(mixed) $get_data | true | (default) to return full user data + meta |
---|
false | to return only a boolean value |
---|
fields array | to return only them | |
---|
|
---|
Return Values
false | if user is not logged |
---|
true | if user is logged and no data must be returned |
---|
associative array | in case of multiple data to return (key => val) | |
---|
mixed | if want to get only one value (directly returns value) | |
---|
|
Example
<?php
// print currently logged user's username
if(($data = pc_user_logged('username')) !== false) {
echo $data;
}
else {
// user isn't logged
}
?>
pc_user_check()
Function used to check wheter user has got required permissions
Usage
pc_user_check($allowed = 'all', $blocked = '', $wp_user_pass = false, $allow_filter = true)
Parameters
(array) $allowed | Allowed user categories all | (default) - any logged user |
---|
unlogged | only unlogged users |
---|
user categories id string | eg. (2, 10, 45) | |
---|
|
---|
(array) $blocked | user categories blocked in this match. By default empty |
---|
(bool) $wp_user_pass | whether to count logged WP users checking permission (check 'testing mode' in settings). By default false |
---|
(bool) $allow_filter | whether to apply filters if "all" and "unlogged" options are selected. By default true |
---|
Return Values
false | user is not logged |
---|
1 | user has got right permissions |
---|
2 | user has got wrong permissions | |
---|
Example
<?php
// allow only user categories 1 and 3 - block 2 and allow WP users
$check = pc_user_check(array(1, 3), array(2), true, true);
if($check === 1) {
// user has got permissions
}
elseif($check === 2) {
// user has got wrong permissions
}
else {
// user isn't logged
}
?>
Function used to get login form code
Usage
pc_login_form($redirect = '')
Parameters
(string) $redirect | forces a specific redirect after login - must be a valid URL |
---|
Return Values
(string) form code ready to be printed. Will be empty if user is already logged |
Example
<?php
// print login form using a custom redirect after login
echo pc_login_form('http://www.lcweb.it/');
?>
pc_logout_btn()
Function used to get logout box code
Usage
pc_logout_btn($redirect = '')
Parameters
(string) $redirect | forces a specific redirect after login - must be a valid URL |
---|
Return Values
(string) box code ready to be printed. Will be empty if user is not logged |
Example
<?php
// print logout box using a custom redirect after logout
echo pc_logout_btn('http://www.lcweb.it/');
?>
pc_login()
Function used to log in users
Usage
pc_login($username, $psw, $remember_me = false)
Parameters
(string) $username | login username (you may pass also user e-mail if related option is enabled in settings) |
---|
(string) $psw | login password |
---|
(bool) $remember_me | whether to use extended cookies (6 months) |
---|
Return Values
false | user not found |
---|
true | user successfully logged |
---|
(int) 2 or 3 | value related to user's status (2 => disabled, 3 => pending) | |
---|
(string) | custom message returned by custom check | |
---|
|
Example
<?php
// login user using remember-me
if( pc_login('test', 'test-psw', true) === true) {
// user is logged now
}
?>
pc_logout()
Function used to logout the user - deleting session and cookies
Usage
pc_logout()
Alternatively remember you can use any site URL + ?pc_logout parameter.
Example: http://www.lcweb.it/?pc_logout
Function used to print registration form
Usage
pc_registration_form($form_id, $layout = '', $forced_cats = false, $redirect = false)
Parameters
(int) $form_id | Registration form ID |
---|
(string) $layout | Registration form layout. Options empty string | (default) - uses global form layout |
---|
one_col | force one-column layout |
---|
fluid | force fluid layout |
---|
|
---|
(int) $forced_cats | Optionally set custom categories assigned to new users. Option discarded if category field is used in the form. Use user categories ID (comma split) |
---|
(string) $redirect | forces a specific redirect after login - must be a valid URL |
---|
Return Values
(string) form code ready to be printed. |
Example
<?php
// print registration form #150 with fluid layout and assigning users to cats 2 and 3
echo pc_registration_form(150, 'fluid', '2,3');
?>
pc_man_redirects()
Function used to return redirect URL in specific contexts.
Considers settings custom redirects and already uses WPML/Polylang translations.
Usage
pc_man_redirects($key)
Parameters
(string) $key | redirect id. Currently available ones: pc_redirect_page | main redirect for restricted areas |
---|
pc_logged_user_redirect | redirect for logged in users |
---|
pc_logout_user_redirect | redirect for logged out users |
---|
pc_registered_user_redirect | redirect for registered users |
---|
|
---|
Return Values
(string) | redirect URL requested |
---|
Example
<?php
// use proper WP hook to move users to main redirect target
function pc_test_redirect() {
header('location: '. pc_man_redirects('pc_redirect_page') );
}
add_action('template_redirect', 'pc_test_redirect', 1);
?>
pc_get_message()
Function used to return specific plugin message, considering Settings customization.
Already uses WPML/Polylang translations.
Usage
pc_get_message($subj, $custom_txt = '')
Parameters
(string) $subj | Message id. Currently available ones: pc_default_nl_mex | Message for not logged users |
---|
pc_default_uca_mex | Message if user doesn't have right permissions |
---|
pc_default_hc_mex | Message if user can't post comments |
---|
pc_default_hcwp_mex | Message if user doesn't have permissions to post comments |
---|
pc_default_nhpa_mex | Message if user doesn't have reserved area |
---|
pc_login_ok_mex | Message for successful login |
---|
pc_default_pu_mex | Message for pending users trying to login |
---|
pc_default_sr_mex | Message if successfully registered |
---|
|
---|
(string) $custom_txt | optionally forces a new text |
---|
Return Values
(string) | message requested | |
---|
Example
<?php
// getting message for unlogged users
$message = pc_get_message('pc_default_nl_mex');
?>