Browse Source

Remove custom widgets we don't need.

pull/11/head
Ned Zimmerman 7 years ago
parent
commit
5260bec2d0
No known key found for this signature in database
GPG Key ID: FF56334A013120CA
  1. 19
      app/setup.php
  2. 24
      app/widgets.php
  3. 86
      app/widgets/linkbutton.php
  4. 95
      app/widgets/pagebutton.php
  5. 3
      resources/functions.php

19
app/setup.php

@ -125,6 +125,25 @@ add_action('widgets_init', function () {
] + $config);
});
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);
}
});
/**
* Updates the `$post` variable on each iteration of the loop.
* Note: updated value is only available for subsequently loaded views, such as partials

24
app/widgets.php

@ -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');
});

86
app/widgets/linkbutton.php

@ -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;
}
}

95
app/widgets/pagebutton.php

@ -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;
}
}

3
resources/functions.php

@ -67,9 +67,6 @@ array_map(function ($file) use ($sage_error) {
'filters',
'activation',
'admin',
'widgets',
'widgets/linkbutton',
'widgets/pagebutton'
]);
/**

Loading…
Cancel
Save