Можно ли создать свой виджет "Последние записи" или настроить существующий?
Я хотел бы включить виджет "Последние записи" с возможностью отображения ссылки "Показать все", когда постов больше, чем установлено для отображения в виджете.
Также хотелось бы иметь возможность исключать определенные категории или записи из него.
Возможно ли сделать это через functions.php моей темы?
(1) Настроить существующий виджет или (2) Создать его копию, которую я смогу настроить?

Обычно лучше всего скопировать существующий класс, дать ему уникальное имя, а затем добавить свою функциональность.
Скопируйте класс WP_Widget_Recent_Posts
из файла wp-includes/class-wp-widget-recent-posts.php в ваш functions.php (или, предпочтительно, в другой файл вашей темы, предназначенный только для виджетов) и переименуйте его во что-то другое, например My_Widget_Recent_Posts
.
Добавьте свою функциональность внутри этого класса.
Не забудьте вызвать register_widget('My_Widget_Recent_Posts')
также во время фазы init
.

+1 Круто. Хорошо, я добавил его в специальный файл с пользовательскими виджетами, который подключается через "require_once()" в моем functions.php. Однако, хотя я изменил имя класса, похоже, что он переопределяет стандартный виджет WP Recent Posts. Есть идеи?

Вы должны присвоить виджету уникальное имя. parent::__construct('recent-posts', __('Recent Posts'), $widget_ops);
'recent-posts'
следует изменить на что-то вроде 'my-recent-posts'
, а также изменить метку на что-то, что делает виджет узнаваемым как ваш: 'My Recent Posts'
