PHP Developer

Saturday, 27 February 2016

Custom Pagination Code For Wordpress, PHP with MySql

Custom Pagination Code For Wordpress, PHP with MySql


Pagination in php with custom query


<?php
/**
 * Template Name: Downloded Files Page
 *
 * @package WordPress
 * @subpackage Twenty_Fourteen
 * @since Twenty Fourteen 1.0
 */


get_header(); ?>
<?php
function paginate($reload, $page, $tpages) {
    $adjacents = 2;
    $prevlabel = "&lsaquo; Prev";
    $nextlabel = "Next &rsaquo;";
    $out = "";
    // previous
    if ($page == 1) {
        $out.= "<span>" . $prevlabel . "</span>\n";
    } elseif ($page == 2) {
        $out.= "<li><a  href=\"" . $reload . "\">" . $prevlabel . "</a>\n</li>";
    } else {
        $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . ($page - 1) . "\">" . $prevlabel . "</a>\n</li>";
    }
 
    $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
    $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
    for ($i = $pmin; $i <= $pmax; $i++) {
        if ($i == $page) {
            $out.= "<li  class=\"active\"><a href=''>" . $i . "</a></li>\n";
        } elseif ($i == 1) {
            $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>\n</li>";
        } else {
            $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . $i . "\">" . $i . "</a>\n</li>";
        }
    }
   
    if ($page < ($tpages - $adjacents)) {
        $out.= "<li><a style='font-size:11px' href=\"" . $reload . "&amp;pageno=" . $tpages . "\">" . $tpages . "</a>\n</li>";
    }
    // next
    if ($page < $tpages) {
        $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . ($page + 1) . "\">" . $nextlabel . "</a>\n</li>";
    } else {
        $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>\n";
    }
    $out.= "";
    return $out;
}

$per_page = 2;         // number of results to show per page
$result = mysql_query("SELECT * FROM wp_uploads");
$total_results = mysql_num_rows($result);
$total_pages = ceil($total_results / $per_page);//total pages we going to have

//-------------if page is setcheck------------------//
if (isset($_GET['pageno'])) {
    $show_page = $_GET['pageno'];             //it will telles the current page
    if ($show_page > 0 && $show_page <= $total_pages) {
        $start = ($show_page - 1) * $per_page;
        $end = $start + $per_page;
    } else {
        // error - show first set of results
        $start = 0;             
        $end = $per_page;
    }
} else {
    // if page isn't set, show first set of results
    $start = 0;
    $end = $per_page;
}
// display pagination
$page = intval($_GET['pageno']);

$tpages=$total_pages;
if ($page <= 0)
    $page = 1;
?>

<div id="main-content" class="main-content">
    <div class="container">
        <div id="primary" class="content-area">
            <div id="content" class="site-content" role="main">
                <div class="row">
                    <h2 class="upload_front_head">Uploaded File List</h2>
                    <div class="first_div" style="text-align:center;">
                        <div class="div_heading">
                            <!--<div class="heading_div">S.No.</div>-->
                            <div class="heading_div">Ttile</div>
                            <div class="heading_div">File Name</div>
                        </div>
                        <?php
                        $n= 0;
                        // loop through results of database query, displaying them in the table
                        for ($i = $start; $i < $end; $i++) {
                            $n = $n + 1;
                            // make sure that PHP doesn't try to show results that don't exist
                            if ($i == $total_results) {
                                break;
                            }
                         
                            // echo out the contents of each row into a table
                           
                            echo "<div class='content_row'>";
                                //echo "<div class='content_data'><strong>".$n.".<strong></div>";
                               
                                echo "<div class='content_data'>".mysql_result($result, $i, 'title')."</div>";
                               
                                echo "<div class='content_data'>".mysql_result($result, $i, 'origional_file')."</div>";
                               
                            echo "</div>";
                        } 
                        ?>

                    </div>
                   
                    <div class="pagination_section">
                        <?php
                        $reload = get_page_link() . "?tpages=" . $tpages;
                        echo '<div class="pagination"><ul>';
                        if ($total_pages > 1) {
                            echo paginate($reload, $show_page, $total_pages);
                        }
                        echo "</ul></div>";
                        // pagination
                        ?>
                    </div>
                </div>
            </div><!-- #content -->
        </div><!-- #primary -->
    </div>
</div><!-- #main-content -->
<style>
.pagination_section {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 100%;
}
.pagination {
  height: 40px;
  margin: 20px 0;
}
.pagination ul {
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  display: inline-block;
  margin-bottom: 0;
  margin-left: 0;
}
.pagination ul li {
  display: inline;
}
.pagination li:first-child a, .pagination li:first-child span, .pagination li a {
  border-left-width: 1px;
  border-radius: 3px 0 0 3px;
  color: #3281ae;
  font-weight: 800;
}
.pagination a, .pagination span {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background-color: #fff;
  border-color: #ddd;
  border-image: none;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  float: left;
  line-height: 38px;
  padding: 0 14px;
  text-decoration: none;
}
.pagination .active a, .pagination .active span {
  color: #999;
  cursor: default;
}
.pagination a:hover, .pagination .active a, .pagination .active span {
  background-color: #f5f5f5;
}
</style>

<?php
get_footer();
?>

Monday, 1 February 2016

Create Shortcode to Show Bredcrum of Post or Page in Wordpress

 Create Shortcode to Show Bredcrum of Post or Page in Wordpress


This Code helps you to show Bredcrum or post and page where you want. And Shortcode is [page_bredcrum]

<?php
/************** Create Shortcode For Bredcrum START ****************/

function page_bredcrum_path() {
    $delimiter = '>';
  $currentBefore = '<span class="current">';
  $currentAfter = '</span>';
  if ( !is_home() && !is_front_page() || is_paged() ) {
    echo '<div id="crumbs">';
    echo '<a href="'.site_url().'">Home</a> '.$delimiter.' ';
    global $post;
    if ( is_page() && !$post->post_parent ) {
        echo $currentBefore;
        the_title();
        echo $currentAfter; }
    elseif ( is_page() && $post->post_parent ) {
      $parent_id  = $post->post_parent;
      $breadcrumbs = array();
      while ($parent_id) {
        $page = get_page($parent_id);
        $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
        $parent_id  = $page->post_parent;
      }
      $breadcrumbs = array_reverse($breadcrumbs);
      foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
      echo $currentBefore;
      the_title();
      echo $currentAfter;
    }
    echo '</div>';
  }
}
add_shortcode('page_bredcrum', 'page_bredcrum_path');


/************** Create Shortcode For Bredcrum END ****************/
?>

Wednesday, 16 December 2015

Wordpress Plugin to Create Custom Registration form Plugin

Wordpress Plugin to Create Custom Registration form Plugin :


<?php

/*
  Plugin Name: Custom Registration Form
  Plugin URI: http://astro-global.blogspot.in/
  Description: Updates user rating based on number of posts.
  Version: 1.0
  Author: Sunil Sharma
  Author URI: https://plus.google.com/u/0/+SunilSharma_007
 */


function custom_registration_function() {
    if (isset($_POST['submit'])) {
        registration_validation(
        $_POST['username'],
        $_POST['password'],
        $_POST['email'],
        $_POST['website'],
        $_POST['fname'],
        $_POST['lname'],
        $_POST['nickname'],
        $_POST['bio']
        );
       
        // sanitize user form input
        global $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio;
        $username    =     sanitize_user($_POST['username']);
        $password     =     esc_attr($_POST['password']);
        $email         =     sanitize_email($_POST['email']);
        $website     =     esc_url($_POST['website']);
        $first_name =     sanitize_text_field($_POST['fname']);
        $last_name     =     sanitize_text_field($_POST['lname']);
        $nickname     =     sanitize_text_field($_POST['nickname']);
        $bio         =     esc_textarea($_POST['bio']);

        // call @function complete_registration to create the user
        // only when no WP_error is found
        complete_registration(
        $username,
        $password,
        $email,
        $website,
        $first_name,
        $last_name,
        $nickname,
        $bio
        );
    }

    registration_form(
        $username,
        $password,
        $email,
        $website,
        $first_name,
        $last_name,
        $nickname,
        $bio
        );
}

function registration_form( $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio ) {
    echo '
    <style>
    div {
        margin-bottom:2px;
    }
   
    input{
        margin-bottom:4px;
    }
    </style>
    ';

    echo '
    <form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
    <div>
    <label for="username">Username <strong>*</strong></label>
    <input type="text" name="username" value="' . (isset($_POST['username']) ? $username : null) . '">
    </div>
   
    <div>
    <label for="password">Password <strong>*</strong></label>
    <input type="password" name="password" value="' . (isset($_POST['password']) ? $password : null) . '">
    </div>
   
    <div>
    <label for="email">Email <strong>*</strong></label>
    <input type="text" name="email" value="' . (isset($_POST['email']) ? $email : null) . '">
    </div>
   
    <div>
    <label for="website">Website</label>
    <input type="text" name="website" value="' . (isset($_POST['website']) ? $website : null) . '">
    </div>
   
    <div>
    <label for="firstname">First Name</label>
    <input type="text" name="fname" value="' . (isset($_POST['fname']) ? $first_name : null) . '">
    </div>
   
    <div>
    <label for="website">Last Name</label>
    <input type="text" name="lname" value="' . (isset($_POST['lname']) ? $last_name : null) . '">
    </div>
   
    <div>
    <label for="nickname">Nickname</label>
    <input type="text" name="nickname" value="' . (isset($_POST['nickname']) ? $nickname : null) . '">
    </div>
   
    <div>
    <label for="bio">About / Bio</label>
    <textarea name="bio">' . (isset($_POST['bio']) ? $bio : null) . '</textarea>
    </div>
    <input type="submit" name="submit" value="Register"/>
    </form>
    ';
}

function registration_validation( $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio )  {
    global $reg_errors;
    $reg_errors = new WP_Error;

    if ( empty( $username ) || empty( $password ) || empty( $email ) ) {
        $reg_errors->add('field', 'Required form field is missing');
    }

    if ( strlen( $username ) < 4 ) {
        $reg_errors->add('username_length', 'Username too short. At least 4 characters is required');
    }

    if ( username_exists( $username ) )
        $reg_errors->add('user_name', 'Sorry, that username already exists!');

    if ( !validate_username( $username ) ) {
        $reg_errors->add('username_invalid', 'Sorry, the username you entered is not valid');
    }

    if ( strlen( $password ) < 5 ) {
        $reg_errors->add('password', 'Password length must be greater than 5');
    }

    if ( !is_email( $email ) ) {
        $reg_errors->add('email_invalid', 'Email is not valid');
    }

    if ( email_exists( $email ) ) {
        $reg_errors->add('email', 'Email Already in use');
    }
   
    if ( !empty( $website ) ) {
        if ( !filter_var($website, FILTER_VALIDATE_URL) ) {
            $reg_errors->add('website', 'Website is not a valid URL');
        }
    }

    if ( is_wp_error( $reg_errors ) ) {

        foreach ( $reg_errors->get_error_messages() as $error ) {
            echo '<div>';
            echo '<strong>ERROR</strong>:';
            echo $error . '<br/>';

            echo '</div>';
        }
    }
}

function complete_registration() {
    global $reg_errors, $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio;
    if ( count($reg_errors->get_error_messages()) < 1 ) {
        $userdata = array(
        'user_login'    =>     $username,
        'user_email'     =>     $email,
        'user_pass'     =>     $password,
        'user_url'         =>     $website,
        'first_name'     =>     $first_name,
        'last_name'     =>     $last_name,
        'nickname'         =>     $nickname,
        'description'     =>     $bio,
        );
        $user = wp_insert_user( $userdata );
        echo 'Registration complete. Goto <a href="' . get_site_url() . '/wp-login.php">login page</a>.';  
    }
}

// Register a new shortcode: [cr_custom_registration]
add_shortcode('cr_custom_registration', 'custom_registration_shortcode');

// The callback function that will replace [book]
function custom_registration_shortcode() {
    ob_start();
    custom_registration_function();
    return ob_get_clean();
}

?>

 

Plugin Usage :

To implement the plugin in a WordPress post or page, use the shortcode[cr_custom_registration].
To implement the registration form in a specific aspect of your theme, add the following template tag - <?php custom_registration_function(); ?>.
You can get the plugin file from the attachment in this article.

Monday, 14 December 2015

Get product category list in woocommerce Wordpress

Get product category list in woocommerce :

<?php
echo "<div class='product_cat_sidebar'>";
echo "<h4>Wholesale Categories</h4>";
$taxonomy     = 'product_cat';
  $orderby      = 'ID';
  $show_count   = 0;      // 1 for yes, 0 for no
  $pad_counts   = 0;      // 1 for yes, 0 for no
  $hierarchical = 1;      // 1 for yes, 0 for no
  $title        = '';
  $empty        = 0;

  $args = array(
         'taxonomy'     => $taxonomy,
         'orderby'      => $orderby,
         'order'      => "asc",
         'show_count'   => $show_count,
         'pad_counts'   => $pad_counts,
         'hierarchical' => $hierarchical,
         'title_li'     => $title,
         'hide_empty'   => $empty
  );
$all_categories = get_categories( $args );
echo "<ul class='sidebar_cat'>";
foreach ($all_categories as $cat) {
    if($cat->category_parent == 0) {
        $category_id = $cat->term_id;
        if(isset($_GET["product_cat"]) && $cat->slug == $_GET["product_cat"]){
            echo '<li class="active_category"><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a></li>';
        } else {
            echo '<li><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a></li>';
        }
      

        $args2 = array(
                'taxonomy'     => $taxonomy,
                'child_of'     => 0,
                'parent'       => $category_id,
                'orderby'      => $orderby,
                'show_count'   => $show_count,
                'pad_counts'   => $pad_counts,
                'hierarchical' => $hierarchical,
                'title_li'     => $title,
                'hide_empty'   => $empty
        );
        $sub_cats = get_categories( $args2 );
        if($sub_cats) {
            foreach($sub_cats as $sub_category) {
                echo  $sub_category->name ;
            } 
        }
    }
}
echo "</ul>";
echo "</div>";

?>

Thursday, 5 November 2015

How To increase Website Page load Speed in Wordpress

How To increase Website Page load Speed in Wordpress


Follow below steps and check speed in GTmetrix

Step 1 : Install and Activate two plugins from back end and adjust settings

  1. W3 Total Cache
  2. Autoptimize

Step 2 : Add this code in .htaccess file for boost website speed

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /bobymason/aceofdiamond/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
</IfModule>
# END W3TC Browser Cache

# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/x-icon "access plus 2500000 seconds"
ExpiresByType image/jpeg "access plus 2500000 seconds"
ExpiresByType image/png "access plus 2500000 seconds"
ExpiresByType image/gif "access plus 2500000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2500000 seconds"
ExpiresByType text/css "access plus 600000 seconds"
ExpiresByType text/javascript "access plus 200000 seconds"
ExpiresByType application/javascript "access plus 200000 seconds"
ExpiresByType application/x-javascript "access plus 200000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "private"
  </filesMatch>
  <filesMatch "\.(x?html?|php)$">
    Header set Cache-Control "private, must-revalidate"
  </filesMatch>
</ifModule>
# END Cache-Control Headers

<ifModule mod_headers.c>
 Header set Connection keep-alive
</ifModule>
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

Monday, 12 October 2015

How can I change email Notification for new user in WordPress

When admin add a new customer from back end manualy the email notification goes to new user.

The new user notification email is created and sent by the function wp_new_user_notification(), found in wp-includes/plugable.php

There is no filter hook within this funciton that will allow you to manipulate the output of the email, however you can of course overwrite any pluggable function via a plugin.

Note - You can only overwrite pluggable functions from within a plugin, not from within your theme.

This code will create the plugin which will be used instead of the one in wp-includes/plugable.php


<?php
/**
 * Plugin Name: User Email Notification
 * Plugin URI: http://astro-global.blogspot.in/
 * Description: This plugin helps you to Send email notification to user if user create by admin in back end. Easily customize, send Username, Password and link also.
 * Version: 1.0.0
 * Author: Sunil Sharma
 * Author URI: https://plus.google.com/u/0/+SunilSharma_007
 */

$pathsss = $_SERVER['DOCUMENT_ROOT'];
if(!defined('DS')){
    define('DS',DIRECTORY_SEPARATOR);
}
include_once $_SERVER['DOCUMENT_ROOT'].'/wp-load.php';
function email_notification_activation()
{
    if ( ! current_user_can( 'activate_plugins' ) )
        return;
}
function email_notification_deactivation()
{
    if ( ! current_user_can( 'activate_plugins' ) )
        return;
}
function email_notification_uninstall()
{
    if ( ! current_user_can( 'activate_plugins' ) )
        return;
}
register_activation_hook( __FILE__, 'email_notification_activation' );
register_deactivation_hook( __FILE__, 'email_notification_deactivation' );
register_uninstall_hook( __FILE__, 'email_notification_uninstall' );

if ( !function_exists('wp_new_user_notification') ) :
/**
 * Pluggable - Email login credentials to a newly-registered user
 *
 * A new user registration notification is also sent to admin email.
 *
 * @since 2.0.0
 *
 * @param int    $user_id        User ID.
 * @param string $plaintext_pass Optional. The user's plaintext password. Default empty.
 */

function wp_new_user_notification($user_id, $plaintext_pass = '') {
    $user = get_userdata( $user_id );

    // The blogname option is escaped with esc_html on the way into the database in sanitize_option
    // we want to reverse this for the plain text arena of emails.

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

    $message  = sprintf(__('New user registration on your site %s:'), $blogname) . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user->user_login) . "\r\n\r\n";
    $message .= sprintf(__('E-mail: %s'), $user->user_email) . "\r\n";

    @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message);

    if ( empty($plaintext_pass) )
        return;

    $message  = sprintf(__('Username: %s'), $user->user_login) . "\r\n";
    $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
    //$message .= wp_login_url() . "\r\n";
    $message .= site_url() . "/sign-in/";

    wp_mail($user->user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);

}
endif;
?>

Wednesday, 1 July 2015

Export post in CSV Format

Export post in CSV Format :

This plugin helps you to Export custom post with CSV file. CSV file include full data of custom post like featured image link, custom meta box value, title, content, etc.


<?php
/**
 * Plugin Name: Export Cause with CSV File
 * Plugin URI: https://plus.google.com/u/0/115833273431242118637
 * Description: This plugin helps you to Export Cause (custom post) with CSV file. CSV file include full data of Cause(custom post) like featured image link, custom meta box value, title, content, etc.
 * Version: 1.0.0
 * Author: Sunil Sharma
 * Author URI: http://astro-global.blogspot.in/
 */

$pathss = $_SERVER['DOCUMENT_ROOT'];
if(!defined('DS')){
    define('DS',DIRECTORY_SEPARATOR);
}
include_once $_SERVER['DOCUMENT_ROOT'].'/wp-load.php';