Adding tags 3.0.0

This commit is contained in:
biztechc
2021-08-05 09:44:31 +00:00
commit 4783289e75
20 changed files with 16132 additions and 0 deletions
+453
View File
@@ -0,0 +1,453 @@
/*
* Table styles
*/
table.dataTable {
width: 100%;
margin: 0 auto;
clear: both;
border-collapse: separate;
border-spacing: 0;
/*
* Header and footer styles
*/
/*
* Body styles
*/
}
table.dataTable thead th,
table.dataTable tfoot th {
font-weight: bold;
}
table.dataTable thead th,
table.dataTable thead td {
padding: 10px 18px;
border-bottom: 1px solid #111;
}
table.dataTable thead th:active,
table.dataTable thead td:active {
outline: none;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
padding: 10px 18px 6px 18px;
border-top: 1px solid #111;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
cursor: pointer;
*cursor: hand;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
background-repeat: no-repeat;
background-position: center right;
}
table.dataTable thead .sorting {
background-image: url("../images/sort_both.png");
}
table.dataTable thead .sorting_asc {
background-image: url("../images/sort_asc.png");
}
table.dataTable thead .sorting_desc {
background-image: url("../images/sort_desc.png");
}
table.dataTable thead .sorting_asc_disabled {
background-image: url("../images/sort_asc_disabled.png");
}
table.dataTable thead .sorting_desc_disabled {
background-image: url("../images/sort_desc_disabled.png");
}
table.dataTable tbody tr {
background-color: #ffffff;
}
table.dataTable tbody tr.selected {
background-color: #B0BED9;
}
table.dataTable tbody th,
table.dataTable tbody td {
padding: 8px 10px;
}
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
border-top: 1px solid #ddd;
}
table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
border-top: none;
}
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
border-left: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
border-top: none;
}
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
background-color: #f9f9f9;
}
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
background-color: #acbad4;
}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
background-color: #f6f6f6;
}
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
background-color: #aab7d1;
}
table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
background-color: #fafafa;
}
table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
background-color: #acbad5;
}
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
background-color: #f1f1f1;
}
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
background-color: #f3f3f3;
}
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
background-color: whitesmoke;
}
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
background-color: #a6b4cd;
}
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
background-color: #a8b5cf;
}
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
background-color: #a9b7d1;
}
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
background-color: #fafafa;
}
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
background-color: #fcfcfc;
}
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
background-color: #fefefe;
}
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
background-color: #acbad5;
}
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
background-color: #aebcd6;
}
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
background-color: #afbdd8;
}
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
background-color: #eaeaea;
}
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
background-color: #ececec;
}
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
background-color: #efefef;
}
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
background-color: #a2aec7;
}
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
background-color: #a3b0c9;
}
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
background-color: #a5b2cb;
}
table.dataTable.no-footer {
border-bottom: 1px solid #111;
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
white-space: nowrap;
}
table.dataTable.compact thead th,
table.dataTable.compact thead td {
padding: 4px 17px 4px 4px;
}
table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
padding: 4px;
}
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
padding: 4px;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
text-align: left;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
text-align: right;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
text-align: justify;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
white-space: nowrap;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
text-align: left;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
text-align: right;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
text-align: justify;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
white-space: nowrap;
}
table.dataTable,
table.dataTable th,
table.dataTable td {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/*
* Control feature layout
*/
.dataTables_wrapper {
position: relative;
clear: both;
*zoom: 1;
zoom: 1;
}
.dataTables_wrapper .dataTables_length {
float: left;
}
.dataTables_wrapper .dataTables_filter {
float: right;
text-align: right;
}
.dataTables_wrapper .dataTables_filter input {
margin-left: 0.5em;
}
.dataTables_wrapper .dataTables_info {
clear: both;
float: left;
padding-top: 0.755em;
}
.dataTables_wrapper .dataTables_paginate {
float: right;
text-align: right;
padding-top: 0.25em;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
box-sizing: border-box;
display: inline-block;
min-width: 1.5em;
padding: 0.5em 1em;
margin-left: 2px;
text-align: center;
text-decoration: none !important;
cursor: pointer;
*cursor: hand;
color: #333 !important;
border: 1px solid transparent;
border-radius: 2px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
color: #333 !important;
border: 1px solid #979797;
background-color: white;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
/* IE10+ */
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
cursor: default;
color: #666 !important;
border: 1px solid transparent;
background: transparent;
box-shadow: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
color: white !important;
border: 1px solid #111;
background-color: #585858;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
/* IE10+ */
background: -o-linear-gradient(top, #585858 0%, #111 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #585858 0%, #111 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
outline: none;
background-color: #2b2b2b;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* IE10+ */
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
/* W3C */
box-shadow: inset 0 0 3px #111;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
padding: 0 1em;
}
.dataTables_wrapper .dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 40px;
margin-left: -50%;
margin-top: -25px;
padding-top: 20px;
text-align: center;
font-size: 1.2em;
background-color: white;
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
color: #333;
}
.dataTables_wrapper .dataTables_scroll {
clear: both;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
*margin-top: -1px;
-webkit-overflow-scrolling: touch;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td {
vertical-align: middle;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
height: 0;
overflow: hidden;
margin: 0 !important;
padding: 0 !important;
}
.dataTables_wrapper.no-footer .dataTables_scrollBody {
border-bottom: 1px solid #111;
}
.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
border-bottom: none;
}
.dataTables_wrapper:after {
visibility: hidden;
display: block;
content: "";
clear: both;
height: 0;
}
@media screen and (max-width: 767px) {
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_paginate {
margin-top: 0.5em;
}
}
@media screen and (max-width: 640px) {
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_filter {
margin-top: 0.5em;
}
}
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Executable
+2
View File
@@ -0,0 +1,2 @@
<?php
// Silence is golden.
+15212
View File
File diff suppressed because it is too large Load Diff
+94
View File
@@ -0,0 +1,94 @@
=== WP jQuery DataTable ===
Contributors: biztechc
Tags: WP jQuery DataTable, jQuery, jQuery DataTable, Table ,DataTable
Requires at least: 3.6.1
Tested up to: 5.5
Stable tag: 3.0.0
License: GPLv2 or later
Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,search, etc...
== Description ==
Plugin's settings will display 'WP jQuery DataTable' tab
1. WP Jquery Data table plugin can help the WordPress website owner to insert table anywhere for displaying any information in tabular form, which will also have some cool features like option of selecting no. of pages, columns and pagination to be displayed in one page along with the search option to access the relevant data immediately from the long table, saving time and effort.
2. This plugin is useful for exact needs for your table implementations.
3. Short code is : [wp_jdt id="table id here"]
4. You can apply this short code into page/post's editor or also can add into PHP file.
Like
`<?php echo do_shortcode('[wp_jdt id="table id here"]');?>`
= Features =
1. Show information about the table
2. Allow table pagination, number of rows to display on page and pagination button display options.
3. Show table entries options
4. Allow table column ordering, define which column(s) the order and apply order (asc or desc.
5. Allow table searching
== Installation ==
1. Copy the entire /wp-jquery-datatable/ directory into your /wp-content/plugins/ directory.
2. Activate the plugin.
3. New Tab called WP jQuery DataTable will be genereate.
4. You can add set setting.
5. Use short code at any pages/posts e.g.[wp_jdt id="table id here"]
= Plugin's settings =
First of Save Plugin's settings. It will display 'WP jQuery DataTable' tab
1. WP Jquery Data table plugin can help the WordPress website owner to insert table anywhere for displaying any information in tabular form, which will also have some cool features like option of selecting no. of pages, columns and pagination to be displayed in one page along with the search option to access the relevant data immediately from the long table, saving time and effort.
2. This plugin is useful for exact needs for your table implementations.
3. Short code is : [wp_jdt id="table id here"]
4. You can apply this short code into page/post's editor or also can add into PHP file.
Like
`<?php echo do_shortcode('[wp_jdt id="table id here"]');?>`
= Shortcode Parameters =
1. id: =(Required) Used table id as a parameter of id. Example [wp_jdt id="demo"] and table is `<table id="demo">...</table>`
2. info: Show information about the table. It return boolean. By default 'true'. Example [wp_jdt info="false"]
3. paging: Allow table pagination. It return boolean. By default 'true'. Example [wp_jdt paging="false"]
4. page_length: Allow number of rows to display on page when using pagination. It return number. By default '10'. Example [wp_jdt page_length="5"]
5. paging_type: Allow pagination button display options when using pagination. Options: simple, simple_numbers, full and full_numbers. By default 'simple'. Example [paging_type page_length="simple"]
6. b_length_change: Show table entries options. It return boolean. By default 'true'. Example [wp_jdt b_length_change="false"]
7. ordering: Allow table column ordering. It return boolean. By default 'true'. Example [wp_jdt ordering="false"]
8. i. order_row_number: You can define which column(s) the order in table. It return number. By default '0'. Example [wp_jdt order_row_number="3"]
ii. order_row_number_sort: You can apply order (asc or desc). By default 'asc'. Example [wp_jdt order_row_number_sort="desc"]
8. searching: Allow table searching. It return boolean. By default 'true'. Example [wp_jdt searching="false"]
== Frequently Asked Questions ==
Is this plugin prepared for multisites? Yes.
== Screenshots ==
1. screenshot-1.png
2. screenshot-2.png
== Changelog ==
= 1.0.0 =
* Stable Version release
= 1.0.1 =
* Solved jquery confliction
= 1.0.2 =
* Update new jquerydatatable js
= 1.1.0 =
* Make plugin language compatible
* Bug fixed for paging and ordering
= 1.1.1 =
* Bug fixed for warnings and notices
= 2.0.0 =
* Compatibility with WordPress version 5.3
= 2.0.1 =
* Compatibility with WordPress version 5.4
= 3.0.0 =
* Compatibility with WordPress version 5.5
== Upgrade Notice ==
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

+371
View File
@@ -0,0 +1,371 @@
<?php
/**
* Plugin Name: WP jQuery DataTable
* Description: Features can be settings to meet your exact needs for your table implementations. like Paging,Ordering,Searching, etc...
* Author: biztechc
* Author URI: https://www.appjetty.com/
* Version: 3.0.0
*/
register_activation_hook( __FILE__, 'wp_jdt_activate_plugin' );
function wp_jdt_activate_plugin() {
$fields = array(
'wp_jdt_info',
'wp_jdt_paging',
// 'wp_jdt_paging_type',
// 'wp_jdt_page_length',
'wp_jdt_b_length_change',
'wp_jdt_ordering',
// 'wp_jdt_order_row',
// 'wp_jdt_order_row_sort',
'wp_jdt_searching',
);
foreach( $fields as $field ) {
$data = get_option( $field );
if ( $data == FALSE ) {
update_option( $field, 'true' );
}
}
$data = get_option('wp_jdt_paging_type');
( $data == FALSE ) ? update_option( 'wp_jdt_paging_type', 'simple' ) : '';
$data = get_option('wp_jdt_page_length');
( $data == FALSE ) ? update_option( 'wp_jdt_page_length', '10' ) : '';
$data = get_option('wp_jdt_order_row');
( $data == FALSE ) ? update_option( 'wp_jdt_order_row', '0' ) : '';
$data = get_option('wp_jdt_order_row_sort');
( $data == FALSE ) ? update_option( 'wp_jdt_order_row_sort', 'desc' ) : '';
}
add_action('admin_menu', 'wp_jdt_create_menu');
function wp_jdt_create_menu(){
//create admin side menu
add_menu_page( __( 'WP jQuery DataTable Settings' ), __( 'WP jQuery DataTable' ), 'administrator', 'wp-jdt', 'wp_jdt_settings_page');
//call register settings function
add_action( 'admin_init', 'wp_jdt_settings' );
}
function wp_jdt_settings(){
//register our settings
register_setting( 'wp-jdt-settings-group', 'wp_jdt_info' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_paging' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_page_length' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_paging_type' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_b_length_change' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_ordering' );
register_setting( 'wp-jdt-settings-group', 'wp_jdt_order_row' );
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(){
// Admin side page options
$wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging');
$wp_jdt_page_length = get_option('wp_jdt_page_length');
$wp_jdt_paging_type = get_option('wp_jdt_paging_type');
$wp_jdt_b_length_change = get_option('wp_jdt_b_length_change');
$wp_jdt_ordering = get_option('wp_jdt_ordering');
$wp_jdt_order_row = get_option('wp_jdt_order_row');
$wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort');
$wp_jdt_searching = get_option('wp_jdt_searching');
?>
<div class='wrap'>
<h2><?php _e( 'WP jQuery DataTable Settings' ); ?></h2>
<form method='post' action='options.php'>
<?php settings_fields( 'wp-jdt-settings-group' ); ?>
<?php do_settings_sections( 'wp-jdt-settings-group' ); ?>
<table class='form-table'>
<tr valign='top'>
<th scope='row'><?php _e( 'Show Information' ); ?></th>
<td>
<fieldset>
<?php
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( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_info"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
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( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_info"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Pagination' ); ?></th>
<td>
<fieldset>
<?php
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( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_paging"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
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( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_paging"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Pagination Type' ); ?></th>
<td>
<fieldset>
<?php
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 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 Numbers' ); ?>"><input type="radio" checked="checked" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br>
<?php
}
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 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 Numbers' ); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br>
<?php
}
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( '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
}
else {
?>
<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( '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 Numbers' ); ?>"><input type="radio" value="full_numbers" name="wp_jdt_paging_type"> <span><?php _e( 'Full Numbers' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Rows Per Page' ); ?></th>
<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">
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Show Per Page DropDown' ); ?></th>
<td>
<fieldset>
<?php
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( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_b_length_change"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
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( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_b_length_change"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Ordering' ); ?></th>
<td>
<fieldset>
<?php
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( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_ordering"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
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( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_ordering"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Specific Column Order' ); ?></th>
<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>
<br>
<fieldset>
<?php
if($wp_jdt_order_row_sort != "desc") {
?>
<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>
<?php
}
else {
?>
<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>
<?php
}
?>
</fieldset>
</td>
</tr>
<tr valign='top'>
<th scope='row'><?php _e( 'Searching' ); ?></th>
<td>
<fieldset>
<?php
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( 'No' ); ?>"><input type="radio" value="false" name="wp_jdt_searching"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
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( 'No' ); ?>"><input type="radio" checked="checked" value="false" name="wp_jdt_searching"> <span><?php _e( 'No' ); ?></span></label><br>
<?php
}
?>
</fieldset>
</td>
</tr>
</table>
<?php submit_button(); ?>
</form>
</div>
<?php
}
add_action('wp_enqueue_scripts','wp_jdt_style_and_script'); // add custom style and script
function wp_jdt_style_and_script()
{
// css
wp_register_style( 'jdt-style-data-tables', plugins_url('css/jquery.dataTables.css', __FILE__) );
// js
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"]
function wp_jdt_shortcode( $atts, $content = "" ) {
$wp_jdt_info = get_option('wp_jdt_info');
$wp_jdt_paging = get_option('wp_jdt_paging');
/*if(get_option('wp_jdt_paging')){
$wp_jdt_paging = 'true';
}else{
$wp_jdt_paging = '';
}*/
$wp_jdt_page_length = get_option('wp_jdt_page_length');
$wp_jdt_paging_type = get_option('wp_jdt_paging_type');
$wp_jdt_b_length_change = get_option('wp_jdt_b_length_change');
$wp_jdt_ordering = get_option('wp_jdt_ordering');
$wp_jdt_order_row = get_option('wp_jdt_order_row');
$wp_jdt_order_row_sort = get_option('wp_jdt_order_row_sort');
$wp_jdt_searching = get_option('wp_jdt_searching');
$atts = shortcode_atts( array(
'id' => "example",
'info' => "$wp_jdt_info",
'paging' => "$wp_jdt_paging",
'page_length' => "$wp_jdt_page_length",
'paging_type' => "$wp_jdt_paging_type",
'b_length_change' => "$wp_jdt_b_length_change",
'ordering' => "$wp_jdt_ordering",
'order_row_number' => "$wp_jdt_order_row",
'order_row_number_sort' => "$wp_jdt_order_row_sort",
'searching' => "$wp_jdt_searching",
), $atts, 'wp_jdt' );
$wp_jdt_script = "";
$wp_jdt_script .= "<script type='text/javascript' language='javascript' class='init'> \n";
$wp_jdt_script .= "jQuery(document).ready(function() { \n";
$wp_jdt_script .= "jQuery('#$atts[id]').DataTable({ \n";
$wp_jdt_script .= "'info': $atts[info], \n";
$wp_jdt_script .= "'paging': $atts[paging], \n";
if($atts['page_length'] > 0) {
$wp_jdt_script .= "'pageLength': $atts[page_length], \n";
}
else {
$wp_jdt_script .= "'pageLength': $wp_jdt_page_length, \n";
}
$wp_jdt_script .= "'pagingType': '$atts[paging_type]', \n";
$wp_jdt_script .= "'bLengthChange': $atts[b_length_change], \n";
$wp_jdt_script .= "'ordering': $atts[ordering], \n";
if ( $atts['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';
$wp_jdt_script .= "'order': [$atts[order_row_number],'$atts[order_row_number_sort]'], \n";
}
$wp_jdt_script .= "'searching': $atts[searching], \n";
$wp_jdt_script .= "} ); \n";
$wp_jdt_script .= "jQuery('#$atts[id]_wrapper select').prepend('<option value=$atts[page_length]>" . __( 'Select' ) . "</option>').val('');";
// if 'Specific Column Order' is not null and ordring is true
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>";
// css and js
wp_enqueue_style( 'jdt-style-data-tables' );
wp_enqueue_script( 'jdt-js-datatables' );
return $wp_jdt_script;
}
register_uninstall_hook( __FILE__, 'wp_jdt_uninstall' ); // uninstall plug-in
function wp_jdt_uninstall() {
delete_option('wp_jdt_info');
delete_option('wp_jdt_paging');
delete_option('wp_jdt_page_length');
delete_option('wp_jdt_paging_type');
delete_option('wp_jdt_b_length_change');
delete_option('wp_jdt_ordering');
delete_option('wp_jdt_order_row');
delete_option('wp_jdt_order_row_sort');
delete_option('wp_jdt_searching');
}