Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
T
Timeline
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
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
WP Plugins
Timeline
Commits
f653ff6c
Commit
f653ff6c
authored
11 years ago
by
Erick Hitter
Browse files
Options
Downloads
Patches
Plain Diff
Date columns and phpdoc for all!
parent
3a672c41
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
eth-timeline.php
+80
-0
80 additions, 0 deletions
eth-timeline.php
with
80 additions
and
0 deletions
eth-timeline.php
+
80
−
0
View file @
f653ff6c
...
@@ -65,6 +65,9 @@ class ETH_Timeline {
...
@@ -65,6 +65,9 @@ class ETH_Timeline {
add_action
(
'add_meta_boxes_'
.
$this
->
post_type
,
array
(
$this
,
'action_add_meta_boxes'
)
);
add_action
(
'add_meta_boxes_'
.
$this
->
post_type
,
array
(
$this
,
'action_add_meta_boxes'
)
);
add_action
(
'save_post'
,
array
(
$this
,
'action_save_post'
)
);
add_action
(
'save_post'
,
array
(
$this
,
'action_save_post'
)
);
add_filter
(
'manage_'
.
$this
->
post_type
.
'_posts_columns'
,
array
(
$this
,
'filter_list_table_columns'
)
);
add_action
(
'manage_'
.
$this
->
post_type
.
'_posts_custom_column'
,
array
(
$this
,
'do_list_table_columns'
),
10
,
2
);
add_filter
(
'enter_title_here'
,
array
(
$this
,
'filter_editor_title_prompt'
),
10
,
2
);
add_filter
(
'enter_title_here'
,
array
(
$this
,
'filter_editor_title_prompt'
),
10
,
2
);
}
}
...
@@ -134,7 +137,15 @@ class ETH_Timeline {
...
@@ -134,7 +137,15 @@ class ETH_Timeline {
}
}
/**
/**
* Enqueue admin assets
*
*
* @uses get_current_screen
* @uses is_wp_error
* @uses wp_enqueue_script
* @uses plugins_url
* @uses wp_enqueue_style
* @action admin_enqueue_scripts
* @return null
*/
*/
public
function
action_admin_enqueue_scripts
()
{
public
function
action_admin_enqueue_scripts
()
{
$screen
=
get_current_screen
();
$screen
=
get_current_screen
();
...
@@ -147,14 +158,27 @@ class ETH_Timeline {
...
@@ -147,14 +158,27 @@ class ETH_Timeline {
}
}
/**
/**
* Register custom date metabox
*
*
* @uses add_meta_box
* @action add_meta_boxes
* @return null
*/
*/
public
function
action_add_meta_boxes
()
{
public
function
action_add_meta_boxes
()
{
add_meta_box
(
'eth-timeline-dates'
,
__
(
'Dates'
,
'eth-timeline'
),
array
(
$this
,
'meta_box_dates'
),
$this
->
post_type
,
'normal'
,
'high'
);
add_meta_box
(
'eth-timeline-dates'
,
__
(
'Dates'
,
'eth-timeline'
),
array
(
$this
,
'meta_box_dates'
),
$this
->
post_type
,
'normal'
,
'high'
);
}
}
/**
/**
* Render dates metabox
*
*
* @param object $post
* @uses get_post_meta
* @uses _e
* @uses wp_nonce_field
* @uses ths::get_field_name
* @uses this::get_nonce_name
* @action add_meta_boxes_{$this->post_type}
* @return string
*/
*/
public
function
meta_box_dates
(
$post
)
{
public
function
meta_box_dates
(
$post
)
{
$start
=
get_post_meta
(
$post
->
ID
,
$this
->
meta_start
,
true
);
$start
=
get_post_meta
(
$post
->
ID
,
$this
->
meta_start
,
true
);
...
@@ -179,7 +203,16 @@ class ETH_Timeline {
...
@@ -179,7 +203,16 @@ class ETH_Timeline {
}
}
/**
/**
* Save custom dates
*
*
* @param int $post_id
* @uses get_post_type
* @uses this::get_nonce_name
* @uses this::get_field_name
* @uses update_post_meta
* @uses delete_post_meta
* @action save_post
* @return null
*/
*/
public
function
action_save_post
(
$post_id
)
{
public
function
action_save_post
(
$post_id
)
{
if
(
$this
->
post_type
!=
get_post_type
(
$post_id
)
)
if
(
$this
->
post_type
!=
get_post_type
(
$post_id
)
)
...
@@ -188,7 +221,13 @@ class ETH_Timeline {
...
@@ -188,7 +221,13 @@ class ETH_Timeline {
if
(
isset
(
$_POST
[
$this
->
get_nonce_name
(
'date'
)
]
)
&&
wp_verify_nonce
(
$_POST
[
$this
->
get_nonce_name
(
'date'
)
],
$this
->
get_field_name
(
'date'
)
)
)
{
if
(
isset
(
$_POST
[
$this
->
get_nonce_name
(
'date'
)
]
)
&&
wp_verify_nonce
(
$_POST
[
$this
->
get_nonce_name
(
'date'
)
],
$this
->
get_field_name
(
'date'
)
)
)
{
$dates
=
isset
(
$_POST
[
'eth-timeline'
]
)
?
$_POST
[
'eth-timeline'
]
:
array
();
$dates
=
isset
(
$_POST
[
'eth-timeline'
]
)
?
$_POST
[
'eth-timeline'
]
:
array
();
if
(
empty
(
$dates
)
)
return
;
foreach
(
$dates
as
$key
=>
$date
)
{
foreach
(
$dates
as
$key
=>
$date
)
{
if
(
!
in_array
(
$key
,
array
(
'start'
,
'end'
)
)
)
continue
;
// Timestamp comes from JS
// Timestamp comes from JS
if
(
empty
(
$date
)
)
if
(
empty
(
$date
)
)
$timestamp
=
false
;
$timestamp
=
false
;
...
@@ -203,6 +242,47 @@ class ETH_Timeline {
...
@@ -203,6 +242,47 @@ class ETH_Timeline {
}
}
}
}
/**
* Add new date columns to list table
*
* @param array $columns
* @uses __
* @filter manage_{$this->post_type}_posts_columns
* @return array
*/
public
function
filter_list_table_columns
(
$columns
)
{
$after
=
array_splice
(
$columns
,
2
);
$new_columns
=
array
(
'eth_timeline_start'
=>
__
(
'Start Date'
,
'eth-timeline'
),
'eth_timeline_end'
=>
__
(
'End Date (Optional)'
,
'eth-timeline'
),
);
$columns
=
$columns
+
$new_columns
+
$after
;
return
$columns
;
}
/**
* Display start and end dates in the post list table
*
* @param string $column
* @param int $post_id
* @uses get_post_meta
* @uses get_option
* @action manage_{$this->post_type}_posts_custom_column
* @return string or null
*/
public
function
do_list_table_columns
(
$column
,
$post_id
)
{
if
(
in_array
(
$column
,
array
(
'eth_timeline_start'
,
'eth_timeline_end'
)
)
)
{
$key
=
str_replace
(
'eth_timeline_'
,
''
,
$column
);
$date
=
get_post_meta
(
$post_id
,
$this
->
{
'meta_'
.
$key
},
true
);
if
(
is_numeric
(
$date
)
)
echo
date
(
get_option
(
'date_format'
,
'F j, Y'
),
$date
);
}
}
/**
/**
* Provide better prompt text for the editor title field
* Provide better prompt text for the editor title field
*
*
...
...
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