1 Commits
Author SHA1 Message Date
biztechc 607c694f8e Compatibility with WordPress version 6.7.1 2024-12-26 13:11:20 +00:00
2 changed files with 283 additions and 267 deletions
+6 -2
View File
@@ -2,8 +2,8 @@
Contributors: biztechc Contributors: biztechc
Tags: WP jQuery DataTable, jQuery, jQuery DataTable, Table ,DataTable Tags: WP jQuery DataTable, jQuery, jQuery DataTable, Table ,DataTable
Requires at least: 3.6.1 Requires at least: 3.6.1
Tested up to: 6.1.1 Tested up to: 6.7.1
Stable tag: 4.0.1 Stable tag: 4.1.0
License: GPLv2 or later License: GPLv2 or later
Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,search, etc... Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,search, etc...
@@ -68,6 +68,10 @@ Is this plugin prepared for multisites? Yes.
== Changelog == == Changelog ==
= 4.1.0 =
* Compatibility with WordPress version 6.7.1
* Vulnerability Fix
= 4.0.1 = = 4.0.1 =
* Compatibility with WordPress version 6.1.1 * Compatibility with WordPress version 6.1.1
+277 -265
View File
@@ -1,73 +1,78 @@
<?php <?php
/** /**
* Plugin Name: WP jQuery DataTable * Plugin Name: WP jQuery DataTable
* Description: Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,Searching, etc... * Description: Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,Searching, etc...
* Author: biztechc * Author: biztechc
* Author URI: https://www.appjetty.com/ * Author URI: https://www.appjetty.com/
* Version: 4.0.1 * Version: 4.1.0
* WordPress Tested up to: 6.1.1 * WordPress Tested up to: 6.7.1
*/ */
register_activation_hook( __FILE__, 'wp_jdt_activate_plugin' ); register_activation_hook(__FILE__, 'wp_jdt_activate_plugin');
function wp_jdt_activate_plugin() { function wp_jdt_activate_plugin()
{
$fields = array( $fields = array(
'wp_jdt_info', 'wp_jdt_info',
'wp_jdt_paging', 'wp_jdt_paging',
// 'wp_jdt_paging_type', // 'wp_jdt_paging_type',
// 'wp_jdt_page_length', // 'wp_jdt_page_length',
'wp_jdt_b_length_change', 'wp_jdt_b_length_change',
'wp_jdt_ordering', 'wp_jdt_ordering',
// 'wp_jdt_order_row', // 'wp_jdt_order_row',
// 'wp_jdt_order_row_sort', // 'wp_jdt_order_row_sort',
'wp_jdt_searching', 'wp_jdt_searching',
); );
foreach( $fields as $field ) { foreach ($fields as $field) {
$data = get_option( $field ); $data = get_option($field);
if ( $data == FALSE ) { if ($data == FALSE) {
update_option( $field, 'true' ); update_option($field, 'true');
} }
} }
$data = get_option('wp_jdt_paging_type'); $data = get_option('wp_jdt_paging_type');
( $data == FALSE ) ? update_option( 'wp_jdt_paging_type', 'simple' ) : ''; ($data == FALSE) ? update_option('wp_jdt_paging_type', 'simple') : '';
$data = get_option('wp_jdt_page_length'); $data = get_option('wp_jdt_page_length');
( $data == FALSE ) ? update_option( 'wp_jdt_page_length', '10' ) : ''; ($data == FALSE) ? update_option('wp_jdt_page_length', '10') : '';
$data = get_option('wp_jdt_order_row'); $data = get_option('wp_jdt_order_row');
( $data == FALSE ) ? update_option( 'wp_jdt_order_row', '0' ) : ''; ($data == FALSE) ? update_option('wp_jdt_order_row', '0') : '';
$data = get_option('wp_jdt_order_row_sort'); $data = get_option('wp_jdt_order_row_sort');
( $data == FALSE ) ? update_option( 'wp_jdt_order_row_sort', 'desc' ) : ''; ($data == FALSE) ? update_option('wp_jdt_order_row_sort', 'desc') : '';
} }
add_action('admin_menu', 'wp_jdt_create_menu'); add_action('admin_menu', 'wp_jdt_create_menu');
function wp_jdt_create_menu(){ function wp_jdt_create_menu()
{
//create admin side menu //create admin side menu
add_menu_page( __( 'WP jQuery DataTable Settings' ), __( 'WP jQuery DataTable' ), 'administrator', 'wp-jdt', 'wp_jdt_settings_page'); add_menu_page(__('WP jQuery DataTable Settings'), __('WP jQuery DataTable'), 'administrator', 'wp-jdt', 'wp_jdt_settings_page');
//call register settings function //call register settings function
add_action( 'admin_init', 'wp_jdt_settings' ); add_action('admin_init', 'wp_jdt_settings');
} }
function wp_jdt_settings(){ function wp_jdt_settings()
//register our settings {
register_setting( 'wp-jdt-settings-group', 'wp_jdt_info' ); //register our settings
register_setting( 'wp-jdt-settings-group', 'wp_jdt_paging' ); register_setting('wp-jdt-settings-group', 'wp_jdt_info');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_page_length' ); register_setting('wp-jdt-settings-group', 'wp_jdt_paging');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_paging_type' ); register_setting('wp-jdt-settings-group', 'wp_jdt_page_length');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_b_length_change' ); register_setting('wp-jdt-settings-group', 'wp_jdt_paging_type');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_ordering' ); register_setting('wp-jdt-settings-group', 'wp_jdt_b_length_change');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_order_row' ); register_setting('wp-jdt-settings-group', 'wp_jdt_ordering');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_order_row_sort' ); register_setting('wp-jdt-settings-group', 'wp_jdt_order_row');
register_setting( 'wp-jdt-settings-group', 'wp_jdt_searching' ); register_setting('wp-jdt-settings-group', 'wp_jdt_order_row_sort');
register_setting('wp-jdt-settings-group', 'wp_jdt_searching');
} }
function wp_jdt_settings_page(){ function wp_jdt_settings_page()
// Admin side page options {
// Admin side page options
$wp_jdt_info = get_option('wp_jdt_info'); $wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging'); $wp_jdt_paging = get_option('wp_jdt_paging');
$wp_jdt_page_length = get_option('wp_jdt_page_length'); $wp_jdt_page_length = get_option('wp_jdt_page_length');
@@ -77,216 +82,216 @@ function wp_jdt_settings_page(){
$wp_jdt_order_row = get_option('wp_jdt_order_row'); $wp_jdt_order_row = get_option('wp_jdt_order_row');
$wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort'); $wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort');
$wp_jdt_searching = get_option('wp_jdt_searching'); $wp_jdt_searching = get_option('wp_jdt_searching');
?> ?>
<div class='wrap'> <div class='wrap'>
<h2><?php _e( 'WP jQuery DataTable Settings' ); ?></h2> <h2><?php _e('WP jQuery DataTable Settings'); ?></h2>
<form method='post' action='options.php'> <form method='post' action='options.php'>
<?php settings_fields( 'wp-jdt-settings-group' ); ?> <?php settings_fields('wp-jdt-settings-group'); ?>
<?php do_settings_sections( 'wp-jdt-settings-group' ); ?> <?php do_settings_sections('wp-jdt-settings-group'); ?>
<table class='form-table'> <table class='form-table'>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Show Information' ); ?></th> <th scope='row'><?php _e('Show Information'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_info != "false") { if ($wp_jdt_info != "false") {
?> ?>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_info"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_info"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_info"> <span><?php _e( 'No' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_info"> <span><?php _e('No'); ?></span></label><br>
<?php <?php
} } else {
else { ?>
?> <label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_info"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" value="true" name="wp_jdt_info"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_info"> <span><?php _e('No'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_info"> <span><?php _e( 'No' ); ?></span></label><br> <?php
<?php }
} ?>
?> </fieldset>
</fieldset> </td>
</td> </tr>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Pagination' ); ?></th> <th scope='row'><?php _e('Pagination'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_paging != "false") { if ($wp_jdt_paging != "false") {
?> ?>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_paging"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_paging"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_paging"> <span><?php _e( 'No' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_paging"> <span><?php _e('No'); ?></span></label><br>
<?php <?php
} } else {
else { ?>
?> <label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_paging"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" value="true" name="wp_jdt_paging"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_paging"> <span><?php _e('No'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_paging"> <span><?php _e( 'No' ); ?></span></label><br> <?php
<?php }
} ?>
?> </fieldset>
</fieldset> </td>
</td> </tr>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Pagination Type' ); ?></th> <th scope='row'><?php _e('Pagination Type'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_paging_type == "full_numbers"){ if ($wp_jdt_paging_type == "full_numbers") {
?> ?>
<label title="<?php _e( 'Simple' ); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e( 'Simple' ); ?></span></label><br> <label title="<?php _e('Simple'); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
<label title="<?php _e( 'Simple Numbers' ); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Simple Numbers' ); ?></span></label><br> <label title="<?php _e('Simple Numbers'); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
<label title="<?php _e( 'Full' ); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e( 'Full' ); ?></span></label><br> <label title="<?php _e('Full'); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e( 'Full Numbers' ); ?>"><input type="radio" checked="checked" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br> <label title="<?php _e('Full Numbers'); ?>"><input type="radio" checked="checked" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<?php <?php
} } else if ($wp_jdt_paging_type == "full") {
else if($wp_jdt_paging_type == "full") { ?>
?> <label title="<?php _e('Simple'); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
<label title="<?php _e( 'Simple' ); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e( 'Simple' ); ?></span></label><br> <label title="<?php _e('Simple Numbers'); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
<label title="<?php _e( 'Simple Numbers' ); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Simple Numbers' ); ?></span></label><br> <label title="<?php _e('Full'); ?>"><input type="radio" checked="checked" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e( 'Full' ); ?>"><input type="radio" checked="checked" value="full" name="wp_jdt_paging_type"> <span><?php _e( 'Full' ); ?></span></label><br> <label title="<?php _e('Full Numbers'); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<label title="<?php _e( 'Full Numbers' ); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br> <?php
<?php } else if ($wp_jdt_paging_type == "simple_numbers") {
} ?>
else if($wp_jdt_paging_type == "simple_numbers"){ <label title="<?php _e('Simple'); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
?> <label title="<?php _e('Simple Numbers'); ?>"><input type="radio" checked="checked" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
<label title="<?php _e( 'Simple' ); ?>"><input type="radio" value="simple" name="wp_jdt_paging_type"> <span><?php _e( 'Simple' ); ?></span></label><br> <label title="<?php _e('Full'); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e( 'Simple Numbers' ); ?>"><input type="radio" checked="checked" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Simple Numbers' ); ?></span></label><br> <label title="<?php _e('Full Numbers'); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<label title="<?php _e( 'Full' ); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e( 'Full' ); ?></span></label><br> <?php
<label title="<?php _e( 'Full Numbers' ); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br> } else {
<?php ?>
} <label title="<?php _e('Simple'); ?>"><input type="radio" checked="checked" value="simple" name="wp_jdt_paging_type"> <span><?php _e('Simple'); ?></span></label><br>
else { <label title="<?php _e('Simple Numbers'); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e('Simple Numbers'); ?></span></label><br>
?> <label title="<?php _e('Full'); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e('Full'); ?></span></label><br>
<label title="<?php _e( 'Simple' ); ?>"><input type="radio" checked="checked" value="simple" name="wp_jdt_paging_type"> <span><?php _e( 'Simple' ); ?></span></label><br> <label title="<?php _e('Full Numbers'); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e('Full Numbers'); ?></span></label><br>
<label title="<?php _e( 'Simple Numbers' ); ?>"><input type="radio" value="simple_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Simple Numbers' ); ?></span></label><br> <?php
<label title="<?php _e( 'Full' ); ?>"><input type="radio" value="full" name="wp_jdt_paging_type"> <span><?php _e( 'Full' ); ?></span></label><br> }
<label title="<?php _e( 'Full Numbers' ); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br> ?>
<?php
}
?>
</fieldset> </fieldset>
</td> </td>
</tr> </tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Rows Per Page' ); ?></th> <th scope='row'><?php _e('Rows Per Page'); ?></th>
<td> <td>
<input type="number" class="small-text" value="<?php if($wp_jdt_page_length != NULL) { echo $wp_jdt_page_length; } else { echo "10"; } ?>" min="1" step="1" name="wp_jdt_page_length"> <input type="number" class="small-text" value="<?php if ($wp_jdt_page_length != NULL) {
</td> echo $wp_jdt_page_length;
</tr> } else {
echo "10";
} ?>" min="1" step="1" name="wp_jdt_page_length">
</td>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Show Per Page DropDown' ); ?></th> <th scope='row'><?php _e('Show Per Page DropDown'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_b_length_change != "false") { if ($wp_jdt_b_length_change != "false") {
?> ?>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_b_length_change"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_b_length_change"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_b_length_change"> <span><?php _e( 'No' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_b_length_change"> <span><?php _e('No'); ?></span></label><br>
<?php <?php
} } else {
else { ?>
?> <label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_b_length_change"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" value="true" name="wp_jdt_b_length_change"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_b_length_change"> <span><?php _e('No'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_b_length_change"> <span><?php _e( 'No' ); ?></span></label><br> <?php
<?php }
} ?>
?> </fieldset>
</fieldset> </td>
</td> </tr>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Ordering' ); ?></th> <th scope='row'><?php _e('Ordering'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_ordering != "false") { if ($wp_jdt_ordering != "false") {
?> ?>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_ordering"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_ordering"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_ordering"> <span><?php _e( 'No' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_ordering"> <span><?php _e('No'); ?></span></label><br>
<?php <?php
} } else {
else { ?>
?> <label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_ordering"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" value="true" name="wp_jdt_ordering"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_ordering"> <span><?php _e('No'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_ordering"> <span><?php _e( 'No' ); ?></span></label><br> <?php
<?php }
} ?>
?> </fieldset>
</fieldset> </td>
</td> </tr>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Specific Column Order' ); ?></th> <th scope='row'><?php _e('Specific Column Order'); ?></th>
<td> <td>
<input type="number" class="small-text" value="<?php if($wp_jdt_order_row != NULL) { echo $wp_jdt_order_row; }else { echo "0"; }?>" min="0" step="1" name="wp_jdt_order_row"><br> <input type="number" class="small-text" value="<?php if ($wp_jdt_order_row != NULL) {
<br> echo $wp_jdt_order_row;
<fieldset> } else {
<?php echo "0";
if($wp_jdt_order_row_sort != "desc") { } ?>" min="0" step="1" name="wp_jdt_order_row"><br>
?> <br>
<label title="<?php _e( 'Ascending Order' ); ?>"><input type="radio" checked="checked" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e( 'Ascending Order' ); ?></span></label><br> <fieldset>
<label title="<?php _e( 'Descending Order' ); ?>"><input type="radio" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e( 'Descending Order' ); ?></span></label><br> <?php
<?php if ($wp_jdt_order_row_sort != "desc") {
} ?>
else { <label title="<?php _e('Ascending Order'); ?>"><input type="radio" checked="checked" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e('Ascending Order'); ?></span></label><br>
?> <label title="<?php _e('Descending Order'); ?>"><input type="radio" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e('Descending Order'); ?></span></label><br>
<label title="<?php _e( 'Ascending Order' ); ?>"><input type="radio" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e( 'Ascending Order' ); ?></span></label><br> <?php
<label title="<?php _e( 'Descending Order' ); ?>"><input type="radio" checked="checked" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e( 'Descending Order' ); ?></span></label><br> } else {
<?php ?>
} <label title="<?php _e('Ascending Order'); ?>"><input type="radio" value="asc" name="wp_jdt_order_row_sort"> <span><?php _e('Ascending Order'); ?></span></label><br>
?> <label title="<?php _e('Descending Order'); ?>"><input type="radio" checked="checked" value="desc" name="wp_jdt_order_row_sort"> <span><?php _e('Descending Order'); ?></span></label><br>
</fieldset> <?php
</td> }
</tr> ?>
</fieldset>
</td>
</tr>
<tr valign='top'> <tr valign='top'>
<th scope='row'><?php _e( 'Searching' ); ?></th> <th scope='row'><?php _e('Searching'); ?></th>
<td> <td>
<fieldset> <fieldset>
<?php <?php
if($wp_jdt_searching != "false") { if ($wp_jdt_searching != "false") {
?> ?>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_searching"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('Yes'); ?>"><input type="radio" checked="checked" value="true" name="wp_jdt_searching"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_searching"> <span><?php _e( 'No' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" value="false" name="wp_jdt_searching"> <span><?php _e('No'); ?></span></label><br>
<?php <?php
} } else {
else { ?>
?> <label title="<?php _e('Yes'); ?>"><input type="radio" value="true" name="wp_jdt_searching"> <span><?php _e('Yes'); ?></span></label><br>
<label title="<?php _e( 'Yes' ); ?>"><input type="radio" value="true" name="wp_jdt_searching"> <span><?php _e( 'Yes' ); ?></span></label><br> <label title="<?php _e('No'); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_searching"> <span><?php _e('No'); ?></span></label><br>
<label title="<?php _e( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_searching"> <span><?php _e( 'No' ); ?></span></label><br> <?php
<?php }
} ?>
?> </fieldset>
</fieldset> </td>
</td> </tr>
</tr> </table>
</table> <?php submit_button(); ?>
<?php submit_button(); ?> </form>
</form> </div>
</div> <?php
<?php
} }
add_action('wp_enqueue_scripts','wp_jdt_style_and_script'); // add custom style and script add_action('wp_enqueue_scripts', 'wp_jdt_style_and_script'); // add custom style and script
function wp_jdt_style_and_script() function wp_jdt_style_and_script()
{ {
// css // css
wp_register_style( 'jdt-style-data-tables', plugins_url('css/jquery.dataTables.css', __FILE__) ); wp_register_style('jdt-style-data-tables', plugins_url('css/jquery.dataTables.css', __FILE__));
// js // js
wp_enqueue_script( 'jdt-js-datatables', plugins_url('js/jquery.dataTables.js', __FILE__), array('jquery') ); wp_enqueue_script('jdt-js-datatables', plugins_url('js/jquery.dataTables.js', __FILE__), array('jquery'));
} }
add_shortcode( 'wp_jdt', 'wp_jdt_shortcode' ); // add shortcode [wp_jdt id="test" info="true" paging="true" page_length="7" paging_type="full_numbers" b_length_change="true" ordering="true" order_row_number="3" order_row_number_sort="desc" searching="true"] add_shortcode('wp_jdt', 'wp_jdt_shortcode'); // add shortcode [wp_jdt id="test" info="true" paging="true" page_length="7" paging_type="full_numbers" b_length_change="true" ordering="true" order_row_number="3" order_row_number_sort="desc" searching="true"]
function wp_jdt_shortcode( $atts, $content = "" ) { function wp_jdt_shortcode($atts, $content = "")
{
$wp_jdt_info = get_option('wp_jdt_info'); $wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging'); $wp_jdt_paging = get_option('wp_jdt_paging');
@@ -303,7 +308,7 @@ function wp_jdt_shortcode( $atts, $content = "" ) {
$wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort'); $wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort');
$wp_jdt_searching = get_option('wp_jdt_searching'); $wp_jdt_searching = get_option('wp_jdt_searching');
$atts = shortcode_atts( array( $atts = shortcode_atts(array(
'id' => "example", 'id' => "example",
'info' => "$wp_jdt_info", 'info' => "$wp_jdt_info",
'paging' => "$wp_jdt_paging", 'paging' => "$wp_jdt_paging",
@@ -314,59 +319,66 @@ function wp_jdt_shortcode( $atts, $content = "" ) {
'order_row_number' => "$wp_jdt_order_row", 'order_row_number' => "$wp_jdt_order_row",
'order_row_number_sort' => "$wp_jdt_order_row_sort", 'order_row_number_sort' => "$wp_jdt_order_row_sort",
'searching' => "$wp_jdt_searching", 'searching' => "$wp_jdt_searching",
), $atts, 'wp_jdt' ); ), $atts, 'wp_jdt');
$table_id = esc_js($atts['id']);
$table_info = esc_js($atts['info']);
$table_paging = esc_js($atts['paging']);
$table_page_length = esc_js($atts['page_length']);
$table_paging_type = esc_js($atts['paging_type']);
$table_b_length_change = esc_js($atts['b_length_change']);
$table_ordering = esc_js($atts['ordering']);
$table_order_row_number = esc_js($atts['order_row_number']);
$table_order_row_number_sort = esc_js($atts['order_row_number_sort']);
$table_searching = esc_js($atts['searching']);
$wp_jdt_script = ""; $wp_jdt_script = "";
$wp_jdt_script .= "<script type='text/javascript' language='javascript' class='init'> \n"; $wp_jdt_script .= "<script type='text/javascript' language='javascript' class='init'> \n";
$wp_jdt_script .= "jQuery(document).ready(function() { \n"; $wp_jdt_script .= "jQuery(document).ready(function() { \n";
$wp_jdt_script .= "jQuery('#$atts[id]').DataTable({ \n"; $wp_jdt_script .= "jQuery('#$table_id').DataTable({ \n";
$wp_jdt_script .= "'info': $atts[info], \n"; $wp_jdt_script .= "'info': $table_info, \n";
$wp_jdt_script .= "'paging': $atts[paging], \n"; $wp_jdt_script .= "'paging': $table_paging, \n";
if($atts['page_length'] > 0) { if ($table_page_length > 0) {
$wp_jdt_script .= "'pageLength': $atts[page_length], \n"; $wp_jdt_script .= "'pageLength': $table_page_length, \n";
} } else {
else { $wp_jdt_script .= "'pageLength': $wp_jdt_page_length, \n";
$wp_jdt_script .= "'pageLength': $wp_jdt_page_length, \n"; }
}
$wp_jdt_script .= "'pagingType': '$atts[paging_type]', \n"; $wp_jdt_script .= "'pagingType': '$table_paging_type', \n";
$wp_jdt_script .= "'bLengthChange': $atts[b_length_change], \n"; $wp_jdt_script .= "'bLengthChange': $table_b_length_change, \n";
$wp_jdt_script .= "'ordering': $atts[ordering], \n"; $wp_jdt_script .= "'ordering': $table_ordering, \n";
if ( $atts['order_row_number'] != '' ) { // if 'Specific Column Order' is not null than add this attribute if ($table_order_row_number != '') { // if 'Specific Column Order' is not null than add this attribute
$atts['order_row_number_sort'] = ( $atts['order_row_number_sort'] != "" ) ? $atts['order_row_number_sort'] : 'desc'; $table_order_row_number_sort = ($table_order_row_number_sort != "") ? $table_order_row_number_sort : 'desc';
$wp_jdt_script .= "'order': [$atts[order_row_number],'$atts[order_row_number_sort]'], \n"; $wp_jdt_script .= "'order': [$table_order_row_number,'$table_order_row_number_sort'], \n";
} }
$wp_jdt_script .= "'searching': $atts[searching], \n"; $wp_jdt_script .= "'searching': $table_searching, \n";
$wp_jdt_script .= "} ); \n"; $wp_jdt_script .= "} ); \n";
$table_wrapper_id = $table_id . "_wrapper";
$wp_jdt_script .= "jQuery('#$atts[id]_wrapper select').prepend('<option value=$atts[page_length]>" . __( 'Select' ) . "</option>').val('');"; $wp_jdt_script .= "jQuery('#$table_wrapper_id select').prepend('<option value=$table_page_length>" . __('Select') . "</option>').val('');";
// if 'Specific Column Order' is not null and ordring is true $wp_jdt_script .= "} ); \n";
if ( $atts['order_row_number'] != '' && $atts['ordering'] == 'true' ) {
//$wp_jdt_script .= "jQuery('#$atts[id]_wrapper select')[0].options[0].selected = true;";
}
$wp_jdt_script .= "} ); \n";
$wp_jdt_script .= "</script>"; $wp_jdt_script .= "</script>";
// css and js // css and js
wp_enqueue_style( 'jdt-style-data-tables' ); wp_enqueue_style('jdt-style-data-tables');
wp_enqueue_script( 'jdt-js-datatables' ); wp_enqueue_script('jdt-js-datatables');
return $wp_jdt_script; return $wp_jdt_script;
} }
register_uninstall_hook( __FILE__, 'wp_jdt_uninstall' ); // uninstall plug-in register_uninstall_hook(__FILE__, 'wp_jdt_uninstall'); // uninstall plug-in
function wp_jdt_uninstall() { function wp_jdt_uninstall()
delete_option('wp_jdt_info'); {
delete_option('wp_jdt_paging'); delete_option('wp_jdt_info');
delete_option('wp_jdt_page_length'); delete_option('wp_jdt_paging');
delete_option('wp_jdt_paging_type'); delete_option('wp_jdt_page_length');
delete_option('wp_jdt_b_length_change'); delete_option('wp_jdt_paging_type');
delete_option('wp_jdt_ordering'); delete_option('wp_jdt_b_length_change');
delete_option('wp_jdt_order_row'); delete_option('wp_jdt_ordering');
delete_option('wp_jdt_order_row_sort'); delete_option('wp_jdt_order_row');
delete_option('wp_jdt_searching'); delete_option('wp_jdt_order_row_sort');
delete_option('wp_jdt_searching');
} }