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');
?>