Вы находитесь на странице: 1из 10

Template tags for post.

the_ID() the_title() the_permalink() the_content() the_author() the_author_posts_link(); -returns the author url(http://localhost/wordpress/author/admin) the_date()-It will be printed once in a page the_time(get_option("date_format")) - It will be printed in all posts the_time() the_tags(',') the_category() the_post_thumbnail() comments_number('No comments','One Comment','% Comments'); -returns number of comments wp_list_comments()

Calling files within theme folder.


get_header() get_footer() get_sidebar() get_sidebar('page') -header.php -footer.php -sidebar.php -sidebar-page.php

Get blog informations.


bloginfo('name') bloginfo('description') bloginfo('stylesheet_url')-returns style.css in current theme directory bloginfo('charset') bloginfo('template_directory')- returns the current theme directory bloginfo('url')-returns site root folder

User login logout informations:


wp_loginout(redirect_url,true) wp_register() is_user_logged_in() We can get current logged in user information by this function: get_currentuserinfo() To use this declare a global variable $current_user Access users info: Echo $current_user->ID; Username: user_login, User first name: user_firstname, User last name: user_lastname, User ID: user_ID,

User Email: user_email)

Useful functions.
posts_nav_link() -navigation link to next and previous post. wp_get_archives('type=monthly')-returns monthly archive wp_get_archives('type=yearly')-returns yearly archive wp_get_archives('type=daily')-returns daily archive wp_list_pages() -Will list all pages present in the blog get_search_form() get_comments_number() previous_post_link() next_post_link() get_template_part('slug','name') Ex:get_template_part( 'loop', 'index' ); will do a PHP require() for the first file that exists among these, in this priority: wp-content/themes/twentytenchild/loop-index.php wp-content/themes/twentytenchild/loop.php
get_the_term_list( $id, $taxonomy, $before, $sep, $after ) - Helps to fetch custom tag or category Ex: get_the_term_list($post->ID,category,Category: ,, ,);-It will fetch current post categories. get_the_term_list($post->ID,post_tag,Tags: ,, ,);-It will fetch current post tags.

Fetching Datas Getting single post

Simple plugin
<?php /* Plugin Name: Contact Form Version:0.1 Author:Karthik Author URI:http://techpointt.wordpress.com Plugin URI:http://techpointt.wordpress.com Description: Contact form helps user's to register for your blog. Admin can view and edit the details of user's who have registered */ function signature(){ global $current_user; return "<h2>".$current_user->display_name."</h2><br /><code><i>".$current_user>user_email."</i></code>";

} add_shortcode('sign','signature'); ?> We can access this plugin with the help of shortcode [sign].

Adding CSS and JavaScript in admin page:


add_action('admin_init','add_stylesheet'); function add_stylesheet(){ wp_register_style('cf-style',plugins_url('cf-style.css',__FILE__)); wp_enqueue_style('cf-style'); wp_register_script('my-script',plugins_url('my-script.js',__FILE__)); wp_enqueue_script('my-script'); } function scriptsAndStyles(){ wp_register_script('jquery-1.7.1.min',plugins_url('jquery-1.7.1.min.js',__FILE__)); wp_enqueue_script('jquery-1.7.1.min'); wp_register_script('cf_validation',plugins_url('cf_validation.js',__FILE__)); wp_enqueue_script('cf_validation'); } add_action('wp_print_scripts', 'scriptsAndStyles');
function add_google_jquery() { if ( !is_admin() ) { wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"), false); wp_enqueue_script('jquery'); } } add_action('wp_print_scripts ', 'add_google_jquery');

Adding styles
add_action('admin_head','tfStylesAndScripts'); function tfStylesAndScripts(){ wp_register_style('tf-style-css',plugins_url('tf-style.css',__FILE__)); wp_enqueue_style('tf_style-css',plugins_url('tf-style.css',__FILE__)); }

Database interaction
select
Global $wpdb;

Get_var()-get single value from a table; Get_row(query,ARRAY_A)-get a row from a table in Array() format $a = $wpdb->get_results("select * from wp_options limit 0,30",ARRAY_A); //fetches all matches foreach ($a as $b){ echo "<br>".$b['option_name']; }

Insert
$wpdb->insert( table_name, array( filed=>value ), Array( %s//refers that is first inserting data is string %d for number ) ); Fetch last inserted row id: $wpdb->insert_id;

Update:
$wpdb->update( $table, $data, $where, $format = null, $where_format = null ); SQL Error: $wpdb->show_errors(); $wpdb->hide_errors();

$wp_query->found_posts();

//will return number of fetched posts

Plugin Functions:
register_activation_hook( __FILE__, array( 'YourPluginNameInit', 'on_activate' ) ); -this hook will be called during activation of plugin register_deactivation_hook( __FILE__, array( 'YourPluginNameInit', 'on_deactivate' ) ); -this hook will be called during deactivation of plugin register_uninstall_hook( __FILE__, array( 'YourPluginNameInit', 'on_uninstall' ) ); -this hook will be called during uninstall. __FILE__- results current file path

Interacting with WP_Option table


add_option() -add_option(variable,array(values)) Ex:add_option(my_details,array(name=>karthi,email,k@gmail.com)) get_option() -retrieve datas from the table -get_option(variable) Ex:get_option(date_formate) Update_option() -update_option(variable,value to be updated); Ex: update_option('my_details',array('name'=>sam,'email'=>kkkk@gmail.com)); Delete_option() -delete_option(variable);
Ex:delete_option(my_details);

Interacting with wp_post table


get_posts( $args ); <?php $args = array( 'numberposts' => 5, 'offset' => 0, 'category' => , 'orderby' => 'post_date', 'order' => 'DESC', 'include' => , 'exclude' => , 'meta_key' => , 'meta_value' => , 'post_type' => 'post', 'post_mime_type' => , 'post_parent' => , 'post_status' => 'publish' ); ?> Example: <ul> <?php $args = array( 'numberposts' => 5, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?>

</ul>

Including external files


if (is_admin()) { // we're in wp-admin/ require_once(dirname(__FILE__).'/includes/admin.php'); }

Conditional Tags
Tag Returns True If User is Viewing

is_home is_admin is_single is_page is_category is_tag is_date is_search

Blog home page Administration interface Single post page Blog page Archives by category Archives by tag Archives by date Search results

Shortcode
function showTechForm($atts,$content=null){ extract(shortcode_atts(array('id'=>''),$atts)); //return $id; global $wpdb; $form = $wpdb->get_row("select * from ".$wpdb->prefix."tForm where tform_id=".$id,ARRAY_A); return json_decode(stripslashes($form['tform_form']),JSON_HEX_TAG); } add_shortcode(TechForm,showTechForm); Usage: [TechForm id=1]

Ajax
$.ajax({ type:"POST", url:formUrl, data:formData, beforeSend:function(){ $('.cf_error').html('<b style="color:#FF0000">Form is being submitted</b>'); }, success:function(data){ $('.cf_error').html('<b style="color:#FF0000">Thank you!! We have received your form</b>'); }, complete:function(){ //$('#add_details').hide(); $('#add_details').each(function(){ this.reset(); }); } });

Fetch particular category posts


query_posts(cat=40&showposts=5); while(the_posts()):the_post(); the_title(); endwhile; wp_reset_query(); query_posts('category_name=technology-science&showposts=7'); We must reset the query after completing our loop.

args:
category_name -category slug cat Showposts - category id. -Fetches 5 recent posts from the category.

Login Form
<?php if (!(current_user_can('level_0'))){ ?> <h2>Login</h2>

<form action="<?php echo htmlentities(get_option('home').'/wp-login.php');?>" method="post"> <input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" /> <input type="password" name="pwd" id="pwd" size="20" /> <input type="submit" name="submit" value="Send" class="button" /> <p> <label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label> <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" /> </p> </form> <a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">Recover password</a> <?php } else { ?> <h2>Logout</h2> <a href="<?php echo wp_logout_url(htmlentities($_SERVER['REQUEST_URI'])); ?>">logout</a><br /> <a href="http://XXX/wp-admin/">admin</a> <?php } ?>

Remove particular post category from home page


add_action('pre_get_posts', 'block_cat_query' ); function block_cat_query() { global $wp_query; if( is_home() ) { $wp_query->query_vars['cat'] = '-98'; } }

Show Related post based on post tags


<?php //for use in the loop, list 5 post titles related to first tag on current post $backup = $post; // backup the current object $tags = wp_get_post_tags($post->ID); $tagIDs = array(); if ($tags) { $tagcount = count($tags); for ($i = 0; $i < $tagcount; $i++) { $tagIDs[$i] = $tags[$i]->term_id; } $args=array( 'tag__in' => $tagIDs, 'post__not_in' => array($post->ID),

'showposts'=>5, 'caller_get_posts'=>1 ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?> <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3> <?php endwhile; } else { ?> <h2>No related posts found!</h2> <?php } } $post = $backup; // copy it back wp_reset_query(); // to use the original query again ?>

Pagination
//Pagination function pagination($prev = '', $next = '') { ?> <style type="text/css"> .page-numbers { font-size: 14px; width:30px; display:inline-block; border:1px solid #999999; textalign:center} .page-numbers.current { color: #222; } .page-numbers .dots { letter-spacing: 1px } a.page-numbers { font-size: 14px; color: #3888ff; } </style> <?php global $wp_query, $wp_rewrite; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('paged','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current, 'prev_text' => __($prev), 'next_text' => __($next), 'type' => 'plain' ); if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' ); if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) );

echo paginate_links( $pagination ); };

Usage: To use this pagination,

call pagination(prev,next) inside the loop;

Adding dashboard widget


add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets'); function my_custom_dashboard_widgets() { global $wp_meta_boxes; wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help'); } function custom_dashboard_help() { echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>'; }

Useful function links


http://codex.wordpress.org/Function_Reference/get_the_term_list http://codex.wordpress.org/Function_Reference/get_terms http://www.wpbeginner.com/wp-tutorials/25-extremely-useful-tricks-for-the-wordpress-functionsfile/ http://codex.wordpress.org/Function_Reference/register_taxonomy http://codex.wordpress.org/Developer_Documentation http://codex.wordpress.org/Function_Reference/add_meta_box http://codex.wordpress.org/Function_Reference/bloginfo http://codex.wordpress.org/Function_Reference/get_post http://codex.wordpress.org/Function_Reference/get_category http://codex.wordpress.org/Function_Reference/get_page http://codex.wordpress.org/Function_Reference http://codex.wordpress.org/Category:Functions

Вам также может понравиться