Ned Zimmerman
7 years ago
5 changed files with 19 additions and 208 deletions
@ -1,24 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
namespace Aldine; |
|
||||||
|
|
||||||
add_action('widgets_init', function () { |
|
||||||
foreach ([ |
|
||||||
'WP_Widget_Pages', |
|
||||||
'WP_Widget_Calendar', |
|
||||||
'WP_Widget_Archives', |
|
||||||
'WP_Widget_Links', |
|
||||||
'WP_Widget_Media_Audio', |
|
||||||
'WP_Widget_Meta', |
|
||||||
'WP_Widget_Search', |
|
||||||
'WP_Widget_Categories', |
|
||||||
'WP_Widget_Recent_Posts', |
|
||||||
'WP_Widget_Recent_Comments', |
|
||||||
'WP_Widget_RSS', |
|
||||||
'WP_Widget_Tag_Cloud' |
|
||||||
] as $widget) { |
|
||||||
unregister_widget($widget); |
|
||||||
} |
|
||||||
register_widget('Aldine\LinkButton'); |
|
||||||
register_widget('Aldine\PageButton'); |
|
||||||
}); |
|
@ -1,86 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
namespace Aldine; |
|
||||||
|
|
||||||
class LinkButton extends \WP_Widget |
|
||||||
{ |
|
||||||
/** |
|
||||||
* Constructor. |
|
||||||
* |
|
||||||
* @see WP_Widget::__construct() |
|
||||||
* |
|
||||||
*/ |
|
||||||
public function __construct() |
|
||||||
{ |
|
||||||
parent::__construct('linkbutton', __('Link Button', 'aldine'), [ |
|
||||||
'description' => esc_html__('Add a styled button which links to a custom URL.', 'aldine') |
|
||||||
]); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Front-end display of widget. |
|
||||||
* |
|
||||||
* @see WP_Widget::widget() |
|
||||||
* |
|
||||||
* @param array $args Widget arguments. |
|
||||||
* @param array $instance Saved values from database. |
|
||||||
*/ |
|
||||||
public function widget($args, $instance) |
|
||||||
{ |
|
||||||
echo $args['before_widget']; |
|
||||||
if (! empty($instance['url']) && ! empty($instance['title'])) { |
|
||||||
printf( |
|
||||||
'<a class="button" href="%1$s">%2$s</a>', |
|
||||||
$instance['url'], |
|
||||||
apply_filters('widget_title', $instance['title']) |
|
||||||
); |
|
||||||
} |
|
||||||
echo $args['after_widget']; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Back-end widget form. |
|
||||||
* |
|
||||||
* @see WP_Widget::form() |
|
||||||
* |
|
||||||
* @param array $instance Previously saved values from database. |
|
||||||
*/ |
|
||||||
public function form($instance) |
|
||||||
{ |
|
||||||
$title = ! empty($instance['title']) ? $instance['title'] : ''; |
|
||||||
$url = ! empty($instance['url']) ? $instance['url'] : ''; ?> |
|
||||||
<p><label for="<?= esc_attr($this->get_field_id('title')); ?>"><?php _e('Title:', 'aldine'); ?></label>
|
|
||||||
<input |
|
||||||
class="widefat" |
|
||||||
id="<?= esc_attr($this->get_field_id('title')); ?>"
|
|
||||||
name="<?= esc_attr($this->get_field_name('title')); ?>"
|
|
||||||
type="text" |
|
||||||
value="<?= esc_attr($title); ?>"></p>
|
|
||||||
<p><label for="<?= esc_attr($this->get_field_id('url')); ?>"><?php _e('URL:', 'aldine'); ?></label>
|
|
||||||
<input |
|
||||||
class="widefat code" |
|
||||||
id="<?= esc_attr($this->get_field_id('url')); ?>"
|
|
||||||
name="<?= esc_attr($this->get_field_name('url')); ?>"
|
|
||||||
type="text" |
|
||||||
value="<?= esc_attr($url); ?>"></p>
|
|
||||||
<?php |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Sanitize widget form values as they are saved. |
|
||||||
* |
|
||||||
* @see WP_Widget::update() |
|
||||||
* |
|
||||||
* @param array $new_instance Values just sent to be saved. |
|
||||||
* @param array $old_instance Previously saved values from database. |
|
||||||
* |
|
||||||
* @return array Updated safe values to be saved. |
|
||||||
*/ |
|
||||||
public function update($new_instance, $old_instance) |
|
||||||
{ |
|
||||||
$instance = []; |
|
||||||
$instance['title'] = ( ! empty($new_instance['title']) ) ? strip_tags($new_instance['title']) : ''; |
|
||||||
$instance['url'] = ( ! empty($new_instance['url']) ) ? esc_url($new_instance['url']) : ''; |
|
||||||
return $instance; |
|
||||||
} |
|
||||||
} |
|
@ -1,95 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
namespace Aldine; |
|
||||||
|
|
||||||
class PageButton extends \WP_Widget |
|
||||||
{ |
|
||||||
/** |
|
||||||
* Constructor. |
|
||||||
* |
|
||||||
* @see WP_Widget::__construct() |
|
||||||
* |
|
||||||
*/ |
|
||||||
public function __construct() |
|
||||||
{ |
|
||||||
parent::__construct('pagebutton', __('Page Button', 'aldine'), [ |
|
||||||
'description' => esc_html__('Add a styled button which links to a page.', 'aldine') |
|
||||||
]); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Front-end display of widget. |
|
||||||
* |
|
||||||
* @see WP_Widget::widget() |
|
||||||
* |
|
||||||
* @param array $args Widget arguments. |
|
||||||
* @param array $instance Saved values from database. |
|
||||||
*/ |
|
||||||
public function widget($args, $instance) |
|
||||||
{ |
|
||||||
echo $args['before_widget']; |
|
||||||
if (! empty($instance['page_id'])) { |
|
||||||
if (empty($instance['title'])) { |
|
||||||
$instance['title'] = get_the_title($instance['page_id']); |
|
||||||
} |
|
||||||
printf( |
|
||||||
'<a class="button" href="%1$s">%2$s</a>', |
|
||||||
get_permalink($instance['page_id']), |
|
||||||
apply_filters('widget_title', $instance['title']) |
|
||||||
); |
|
||||||
} |
|
||||||
echo $args['after_widget']; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Back-end widget form. |
|
||||||
* |
|
||||||
* @see WP_Widget::form() |
|
||||||
* |
|
||||||
* @param array $instance Previously saved values from database. |
|
||||||
*/ |
|
||||||
public function form($instance) |
|
||||||
{ |
|
||||||
$title = ! empty($instance['title']) ? $instance['title'] : ''; |
|
||||||
$page_id = ! empty($instance['page_id']) ? $instance['page_id'] : ''; ?> |
|
||||||
<p><label for="<?= esc_attr($this->get_field_id('title')); ?>"><?php _e('Title:', 'aldine'); ?></label>
|
|
||||||
<input |
|
||||||
class="widefat" |
|
||||||
id="<?= esc_attr($this->get_field_id('title')); ?>"
|
|
||||||
name="<?= esc_attr($this->get_field_name('title')); ?>"
|
|
||||||
type="text" |
|
||||||
value="<?= esc_attr($title); ?>"></p>
|
|
||||||
<p><label for="<?= esc_attr($this->get_field_id('page_id')); ?>"><?php _e('Page:', 'aldine'); ?></label>
|
|
||||||
<select |
|
||||||
id="<?= esc_attr($this->get_field_id('page_id')); ?>"
|
|
||||||
name="<?= esc_attr($this->get_field_name('page_id')); ?>">
|
|
||||||
<option value="" <?php selected($page_id, ''); ?>> -- </a>
|
|
||||||
<?php $pages = get_pages(); |
|
||||||
foreach ($pages as $page) { ?> |
|
||||||
<option value="<?= $page->ID; ?>"
|
|
||||||
<?php selected($page_id, $page->ID); ?>>
|
|
||||||
<?= $page->post_title; ?> |
|
||||||
</option> |
|
||||||
<?php } ?> |
|
||||||
</select></p> |
|
||||||
<?php |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Sanitize widget form values as they are saved. |
|
||||||
* |
|
||||||
* @see WP_Widget::update() |
|
||||||
* |
|
||||||
* @param array $new_instance Values just sent to be saved. |
|
||||||
* @param array $old_instance Previously saved values from database. |
|
||||||
* |
|
||||||
* @return array Updated safe values to be saved. |
|
||||||
*/ |
|
||||||
public function update($new_instance, $old_instance) |
|
||||||
{ |
|
||||||
$instance = []; |
|
||||||
$instance['title'] = ( ! empty($new_instance['title']) ) ? strip_tags($new_instance['title']) : ''; |
|
||||||
$instance['page_id'] = ( ! empty($new_instance['page_id']) ) ? absint($new_instance['page_id']) : ''; |
|
||||||
return $instance; |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue