From Antispambot to Zeroize, WordPress has all sorts of lesser known or used functions. This presentation given at WordCamp Jerusalem 2013 goes over 10 such functions.
6. //antispambot()
/**
* Converts email addresses characters to HTML entities
* to block spam bots.
*
* @return string Converted email address.
*/
function antispambot($emailaddy, $mailto=0)
?>
Email me at:
<?php echo antispambot('yoav@farhi.org'); ?>
Email me at:
yoav@farhi.org
7. //checked(), selected(), disabled()
/**
* Outputs the html checked attribute.
*
* Compares the first two arguments and if identical
* marks as checked
*
* @return string html attribute or empty string
*/
function checked( $checked, $current = true, $echo = true )
?>
<input type='checkbox' name='postlink' value='1' <?php if
( 1 == $postlink ) echo 'checked="checked"'; ?> />
<input type="checkbox" name="postlink" value="1" <?php
checked( $postlink, 1 ); ?> />
8. //human_time_diff()
/**
* Determines the difference between two timestamps.
*
* The difference is returned in a human readable
* format such as "1 hour", * "5 mins", "2 days".
* @return string Human readable time difference.
*/
function human_time_diff( $from, $to )
?>
<?php echo human_time_diff(get_comment_time('U')).' ago';?>
//2 days ago
9. //wp_list_pluck()
/**
* Pluck a certain field out of each object in a list.
* @return array
*/
function wp_list_pluck( $list, $field );
$foods = array(
! array(
! ! 'name' => 'Banana',
! ! 'color' => 'Yellow',
! ),
! array(
! ! 'name' => 'Apple',
! ! 'color' => 'Red',
! ),
);
$foods_names = wp_list_pluck( $foods, 'name' );
//$foods_names = array( 'Banana','Apple' );
$color_names = wp_list_pluck( $foods, 'color' );
//$color_names = array( 'Yellow','Red' );
13. Let’s get to work
cc-by galato901
http://yoav.fr/towork
14. //wp_kses()
/**
* Filters content and keeps only allowable HTML elements.
*
* @return string Filtered content with only
* allowed HTML elements
*/
function wp_kses($string, $allowed_html, $allowed_protocols);
$tags = array(
'em' => array(),
'strong' => array()
);
$html = <<<EOT
<p>
! <b>BOLD</b> is different than <em>italics</em>
</p>
EOT;
echo wp_kses( $html, $tags );
//BOLD is different than <em>italics</em>
15. //wp_mail()
/**
* Send mail, similar to PHP's mail
*
* @return bool Whether the email contents were sent
* successfully.
*/
function wp_mail( $to, $subject, $message, $headers =
'', $attachments = array() );
$to = 'yoav@farhi.org';
$subject = 'I love WordPres';
$message = 'WordPress is The Awesome!!!1';
$mail = wp_mail( $to, $subject, $message );
if( $mail )
! echo 'Mail sent';
16. //wp_remote_get()
/**
* Retrieve the raw response from the HTTP
* request using the GET method.
*
* @return WP_Error|array The response or
* WP_Error on failure.
*/
function wp_remote_get( $url, $args = array() );
$url = 'http://nominatim.openstreetmap.org/search?
q=Netanya&format=json';
$response = wp_remote_get( $url );
if ( ! is_wp_error( $response ) )
! //Do something
17. //wp_trim_words()
/**
* Trims text to a certain number of words.
*
* @return string Trimmed text.
*/
function wp_trim_words( $text, $num_words = 55, $more = null );
$text = "I love WordPress and Joomla";
echo wp_trim_words( $text, 3 );
// I Love WordPress
18. //zeroise()
/**
* Add leading zeros when necessary.
*
* @return string Adds leading zeros to number if needed.
*/
function zeroise($number, $threshold);
$comno = get_comments_number();
// $comno = '2'
$zeroed = zeroise($comno, 2);
// $zeroed = '02'