21
antispambot() ... zeroize()

WordPress: From Antispambot to Zeroize

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: WordPress: From Antispambot to Zeroize

antispambot()...

zeroize()

Page 2: WordPress: From Antispambot to Zeroize

$ whoami

Page 3: WordPress: From Antispambot to Zeroize

Yoav Farhi

Developer

blog.yoavfarhi.com

@yoavf

Page 4: WordPress: From Antispambot to Zeroize

$ pwd

Page 5: WordPress: From Antispambot to Zeroize
Page 6: WordPress: From Antispambot to Zeroize

//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('[email protected]'); ?>

Email me at:yo&#97;v&#64;&#102;a&#114;&#104;&#105;&#46;org

Page 7: WordPress: From Antispambot to Zeroize

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

Page 8: WordPress: From Antispambot to Zeroize

//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

Page 9: WordPress: From Antispambot to Zeroize

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

Page 10: WordPress: From Antispambot to Zeroize

//wordcamp.js

jQuery(document).ready(function($){ alert('Welcome to WordCamp Jerusalem 2013'); });});

//wp_localize_script()

Page 11: WordPress: From Antispambot to Zeroize

//wp_localize_script()

/** * Used to localizes a script. * * @return bool Whether the localization was * added successfully. */function wp_localize_script( $handle, $object_name, $l10n );?>

<?phpwp_enqueue_script( 'wordcamp-jeruslaem', 'wordcamp.js' );$translation_array = array( 'welcome' => __( 'Welcome to WordCamp Jerusalem 2013' ) );wp_localize_script( 'wordcamp-jeruslaem', 'wc_strings',

$translation_array );?>

<script> var wc_strings = { welcome: '2013 ברוכים הבאים לוורדקמפ ירושלים', };</script>

Page 12: WordPress: From Antispambot to Zeroize

//wp_localize_script()

// WordCamp.js

jQuery(document).ready(function($){ alert( wc_strings.welcome ); });});

Page 13: WordPress: From Antispambot to Zeroize

Let’s get to work

cc-by galato901http://yoav.fr/towork

Page 14: WordPress: From Antispambot to Zeroize

//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>

Page 15: WordPress: From Antispambot to Zeroize

//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 = '[email protected]';$subject = 'I love WordPres';$message = 'WordPress is The Awesome!!!1';

$mail = wp_mail( $to, $subject, $message );

if( $mail )! echo 'Mail sent';

Page 16: WordPress: From Antispambot to Zeroize

//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

Page 17: WordPress: From Antispambot to Zeroize

//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

Page 18: WordPress: From Antispambot to Zeroize

//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'

Page 19: WordPress: From Antispambot to Zeroize

Happy

cc by-nc-nd anarosaphotographyhttp://yoav.fr/happy

Page 20: WordPress: From Antispambot to Zeroize

questions ?

Page 21: WordPress: From Antispambot to Zeroize

How can I get involved with the WordPress.org

community?