Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Advanced Order Numbers for WooCommerce
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
WooCommerce
Advanced Order Numbers for WooCommerce
Commits
b46a2440
Commit
b46a2440
authored
10 years ago
by
Reinhold Kainhofer
Browse files
Options
Downloads
Patches
Plain Diff
Some fixes for the settings page, etc.
parent
3c37894d
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
templates/settings.php
+5
-5
5 additions, 5 deletions
templates/settings.php
woocommerce-advanced-ordernumbers.php
+26
-28
26 additions, 28 deletions
woocommerce-advanced-ordernumbers.php
with
31 additions
and
33 deletions
templates/settings.php
+
5
−
5
View file @
b46a2440
<div
class=
"wrap"
>
<div
class=
"wrap"
>
<h2>
OpenTools Advanced
o
rdernumbers
</h2>
<h2>
OpenTools Advanced
O
rdernumbers
</h2>
<form
method=
"post"
action=
"options.php"
>
<form
method=
"post"
action=
"options.php"
>
<?php
@
settings_fields
(
'create_ordernumber-group'
);
?>
<?php
@
settings_fields
(
'create_ordernumber
s
-group'
);
?>
<?php
@
do_settings_fields
(
'create_ordernumber-group'
);
?>
<?php
@
do_settings_fields
(
'create_ordernumber
s
-group'
);
?>
<table
class=
"form-table"
>
<table
class=
"form-table"
>
<tr
valign=
"top"
>
<tr
valign=
"top"
>
<th
scope=
"row"
><label
for=
"customize_ordernumber"
>
Customize Order Numbers
</label></th>
<th
scope=
"row"
><label
for=
"customize_ordernumber
s
"
>
Customize Order Numbers
</label></th>
<td><input
type=
"text"
name=
"customize_ordernumber"
id=
"customize_ordernumber"
value=
"
<?php
echo
get_option
(
'customize_ordernumber'
);
?>
"
/></td>
<td><input
type=
"text"
name=
"customize_ordernumber
s
"
id=
"customize_ordernumber
s
"
value=
"
<?php
echo
get_option
(
'customize_ordernumber
s
'
);
?>
"
/></td>
</tr>
</tr>
<tr
valign=
"top"
>
<tr
valign=
"top"
>
<th
scope=
"row"
><label
for=
"ordernumber_format"
>
Order Number Format
</label></th>
<th
scope=
"row"
><label
for=
"ordernumber_format"
>
Order Number Format
</label></th>
...
...
This diff is collapsed.
Click to expand it.
woocommerce-advanced-ordernumbers.php
+
26
−
28
View file @
b46a2440
...
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
...
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
if
(
in_array
(
'woocommerce/woocommerce.php'
,
apply_filters
(
'active_plugins'
,
get_option
(
'active_plugins'
)
)
)
)
{
if
(
in_array
(
'woocommerce/woocommerce.php'
,
apply_filters
(
'active_plugins'
,
get_option
(
'active_plugins'
)
)
)
)
{
// Put your plugin code here
// Put your plugin code here
// Load the language files
// Load the language files
load_plugin_textdomain
(
'
your-unique-name
'
,
false
,
basename
(
dirname
(
__FILE__
)
)
.
'/languages'
);
load_plugin_textdomain
(
'
opentools-ordernumbers
'
,
false
,
basename
(
dirname
(
__FILE__
)
)
.
'/languages'
);
if
(
!
class_exists
(
"OpenToolsOrdernumbers"
))
{
if
(
!
class_exists
(
"OpenToolsOrdernumbers"
))
{
class
OpenToolsOrdernumbers
{
class
OpenToolsOrdernumbers
{
...
@@ -36,10 +36,13 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
...
@@ -36,10 +36,13 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
*/
*/
public
function
__construct
()
public
function
__construct
()
{
{
add_action
(
'woocommerce_order_number'
,
array
(
&
$this
,
'get_ordernumber'
));
$plugin
=
plugin_basename
(
__FILE__
);
add_action
(
'admin_init'
,
array
(
&
$this
,
'admin_init'
));
add_action
(
'admin_menu'
,
array
(
&
$this
,
'admin_menu'
));
// register actions
// register actions
add_action
(
'admin_init'
,
array
(
&
$this
,
'admin_init'
));
add_action
(
'admin_menu'
,
array
(
&
$this
,
'add_menu'
));
// register filters
add_filter
(
"plugin_action_links_
$plugin
"
,
array
(
&
$this
,
'plugin_settings_link'
));
add_filter
(
'woocommerce_order_number'
,
array
(
&
$this
,
'get_ordernumber'
),
10
,
2
/*<= Also get the order object! */
);
}
}
/**
/**
...
@@ -74,9 +77,10 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
...
@@ -74,9 +77,10 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
public
function
init_settings
()
public
function
init_settings
()
{
{
// register the settings for this plugin
// register the settings for this plugin
register_setting
(
'opentools-ordernumber-group'
,
'customize_ordernumber'
);
// TODO: Properly design the set of options needed
register_setting
(
'opentools-ordernumber-group'
,
'ordernumber_format'
);
register_setting
(
'opentools-ordernumbers-group'
,
'customize_ordernumbers'
);
register_setting
(
'opentools-ordernumber-group'
,
'ordernumber_counter_scope'
);
register_setting
(
'opentools-ordernumbers-group'
,
'ordernumber_format'
);
register_setting
(
'opentools-ordernumbers-group'
,
'ordernumber_counter_scope'
);
}
}
/**
/**
...
@@ -84,19 +88,27 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
...
@@ -84,19 +88,27 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
*/
*/
public
function
add_menu
()
public
function
add_menu
()
{
{
// TODO: Move this inside the WooCommerce configuration!
add_options_page
(
'Advanced Ordernumber Plugin Settings'
,
'OpenTools Advanced Ordernumbers'
,
add_options_page
(
'Advanced Ordernumber Plugin Settings'
,
'OpenTools Advanced Ordernumbers'
,
'manage_options'
,
'opentools-ordernumbers'
,
array
(
&
$this
,
'plugin_settings_page'
));
'manage_options'
,
'opentools-ordernumbers'
,
array
(
&
$this
,
'plugin_settings_page'
));
}
// END public function add_menu()
}
// END public function add_menu()
function
plugin_settings_link
(
$links
)
{
$settings_link
=
'<a href="options-general.php?page=opentools-ordernumbers">Settings</a>'
;
array_unshift
(
$links
,
$settings_link
);
return
$links
;
}
/**
/**
* Menu Callback
* Menu Callback
*/
*/
public
function
plugin_settings_page
()
public
function
plugin_settings_page
()
{
{
//
if(!current_user_can('manage_options'))
if
(
!
current_user_can
(
'manage_options'
))
//
{
{
//
wp_die(__('You do not have sufficient permissions to access this page.'));
wp_die
(
__
(
'You do not have sufficient permissions to access this page.'
));
//
}
}
// Render the settings template
// Render the settings template
include
(
sprintf
(
"%s/templates/settings.php"
,
dirname
(
__FILE__
)));
include
(
sprintf
(
"%s/templates/settings.php"
,
dirname
(
__FILE__
)));
...
@@ -108,13 +120,13 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
...
@@ -108,13 +120,13 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
* The hook to customize order numbers (requests the order number from the database; creates a new ordernumber if no entry exists in the database)
* The hook to customize order numbers (requests the order number from the database; creates a new ordernumber if no entry exists in the database)
*/
*/
function
get_ordernumber
(
$orderid
,
$order
)
{
function
get_ordernumber
(
$orderid
,
$order
)
{
$stored_number
=
get_post_meta
(
$orderid
,
'
o
rder
n
umber'
,
'true'
);
$stored_number
=
get_post_meta
(
$orderid
,
'
O
rder
N
umber'
,
'true'
);
if
(
!
empty
(
$stored_number
))
{
if
(
!
empty
(
$stored_number
))
{
return
$stored_number
;
return
$stored_number
;
}
else
{
}
else
{
// create a new one (if this is a new order, otherwise we don't have/generate a number!)
// create a new one (if this is a new order, otherwise we don't have/generate a number!)
$number
=
$this
->
create_ordernumber
(
$orderid
,
$order
);
$number
=
$this
->
create_ordernumber
(
$orderid
,
$order
);
update_post_meta
(
$orderid
,
'
o
rder
n
umber'
,
$number
);
update_post_meta
(
$orderid
,
'
O
rder
N
umber'
,
$number
);
return
$number
;
return
$number
;
}
}
}
}
...
@@ -134,20 +146,6 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
...
@@ -134,20 +146,6 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', g
// instantiate the plugin class
// instantiate the plugin class
$ordernumber_plugin
=
new
OpenToolsOrdernumbers
();
$ordernumber_plugin
=
new
OpenToolsOrdernumbers
();
// Add a link to the settings page onto the plugin page
if
(
isset
(
$ordernumber_plugin
))
{
// Add the settings link to the plugins page
function
plugin_settings_link
(
$links
)
{
$settings_link
=
'<a href="options-general.php?page=wp_plugin_template">Settings</a>'
;
array_unshift
(
$links
,
$settings_link
);
return
$links
;
}
$plugin
=
plugin_basename
(
__FILE__
);
add_filter
(
"plugin_action_links_
$plugin
"
,
'plugin_settings_link'
);
}
}
}
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment