Skip to content

Commit 63f2328

Browse files
Merge pull request #1043 from Codeinwp/feat/827
Adds auto-delete featured image
2 parents 04d3670 + 02889e7 commit 63f2328

File tree

6 files changed

+54
-1
lines changed

6 files changed

+54
-1
lines changed

css/settings.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2535,6 +2535,10 @@ li.draggable-item .components-panel__body-toggle.components-button{
25352535
.fz-license-section .help-text:has(.dashicons-yes) {
25362536
color: #6eb77a;
25372537
}
2538+
.feedzy-accordion-item__content .form-block.feedzy-auto-delete {
2539+
border-bottom: 0;
2540+
padding: 24px 0 0;
2541+
}
25382542
@-webkit-keyframes spin {
25392543
100% { -webkit-transform: rotate(360deg); }
25402544
}

includes/admin/feedzy-rss-feeds-admin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,6 +1016,7 @@ private function save_settings() {
10161016
$settings['general']['fz_execution_offset'] = isset( $_POST['fz_execution_offset'] ) ? filter_input( INPUT_POST, 'fz_execution_offset', FILTER_UNSAFE_RAW ) : '';
10171017
$settings['general']['auto-categories'] = $auto_categories;
10181018
$settings['general']['feedzy-telemetry'] = isset( $_POST['feedzy-telemetry'] ) ? (int) filter_input( INPUT_POST, 'feedzy-telemetry', FILTER_SANITIZE_NUMBER_INT ) : '';
1019+
$settings['general']['feedzy-delete-media'] = isset( $_POST['feedzy-delete-media'] ) ? (int) filter_input( INPUT_POST, 'feedzy-delete-media', FILTER_SANITIZE_NUMBER_INT ) : '';
10191020
break;
10201021
case 'headers':
10211022
$settings['header']['user-agent'] = isset( $_POST['user-agent'] ) ? filter_input( INPUT_POST, 'user-agent', FILTER_UNSAFE_RAW ) : '';

includes/admin/feedzy-rss-feeds-import.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,13 @@ public function feedzy_import_feed_options() {
441441
if ( empty( $import_feed_delete_days ) ) {
442442
$import_feed_delete_days = ! empty( $this->free_settings['general']['feedzy-delete-days'] ) ? (int) $this->free_settings['general']['feedzy-delete-days'] : 0;
443443
}
444+
445+
$import_feed_delete_media = get_post_meta( $post->ID, 'import_feed_delete_media', true );
446+
if ( empty( $import_feed_delete_media ) ) {
447+
$import_feed_delete_media = ! empty( $this->free_settings['general']['feedzy-delete-media'] ) ? 'yes' : 'no';
448+
}
449+
$import_feed_delete_media = 'yes' === $import_feed_delete_media ? 'checked' : '';
450+
444451
$default_thumbnail_id = 0;
445452
if ( feedzy_is_pro() ) {
446453
$default_thumbnail_id = get_post_meta( $post->ID, 'default_thumbnail_id', true );
@@ -585,11 +592,15 @@ public function save_feedzy_import_feed_meta( $post_id, $post ) {
585592
$data_meta['import_auto_translation'] = isset( $data_meta['import_auto_translation'] ) ? $data_meta['import_auto_translation'] : 'no';
586593
// Check feeds external image URL checkbox checked OR not.
587594
$data_meta['import_use_external_image'] = isset( $data_meta['import_use_external_image'] ) ? $data_meta['import_use_external_image'] : 'no';
595+
588596
// If it is filter_conditions we want to escape it.
589597
if ( isset( $data_meta['filter_conditions'] ) ) {
590598
$data_meta['filter_conditions'] = wp_slash( $data_meta['filter_conditions'] );
591599
}
592600

601+
// Check feeds remove attached media checkbox checked OR not.
602+
$data_meta['import_feed_delete_media'] = isset( $data_meta['import_feed_delete_media'] ) ? $data_meta['import_feed_delete_media'] : 'no';
603+
593604
// $data_meta['feedzy_post_author'] should be the author username. We convert it to the author ID.
594605
if ( ! empty( $data_meta['import_post_author'] ) ) {
595606
$author = get_user_by( 'login', $data_meta['import_post_author'] );

includes/layouts/settings.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ class="<?php echo $_tab === $active_tab ? esc_attr( 'active' ) : ''; ?>"><?php e
105105
if ( isset( $settings['general']['disable-default-style'] ) && 1 === intval( $settings['general']['disable-default-style'] ) ) {
106106
$disble_default_style = 1;
107107
}
108+
$delete_media = 0;
109+
if ( isset( $settings['general']['feedzy-delete-media'] ) && 1 === intval( $settings['general']['feedzy-delete-media'] ) ) {
110+
$delete_media = 1;
111+
}
108112

109113
$feedzy_delete_days = isset( $settings['general']['feedzy-delete-days'] ) ? $settings['general']['feedzy-delete-days'] : 0;
110114
$default_thumbnail_id = isset( $settings['general']['default-thumbnail-id'] ) ? $settings['general']['default-thumbnail-id'] : 0;
@@ -215,6 +219,16 @@ class="<?php echo $_tab === $active_tab ? esc_attr( 'active' ) : ''; ?>"><?php e
215219
<div class="help-text pt-8"><?php esc_html_e( 'Helpful if you want to remove stale or old items automatically. If you choose 0, it will be considered the individual import setting.', 'feedzy-rss-feeds' ); ?></div>
216220
</div>
217221
</div>
222+
<div class="form-block">
223+
<div class="fz-form-switch pb-0">
224+
<input type="checkbox" id="feedzy-delete-media" class="fz-switch-toggle" name="feedzy-delete-media"
225+
value="1" <?php checked( 1, $delete_media ); ?> />
226+
<label for="feedzy-delete-media" class="form-label"><?php esc_html_e( 'Delete attached featured image', 'feedzy-rss-feeds' ); ?></label>
227+
</div>
228+
<div class="fz-form-group">
229+
<div class="help-text pt-8"><?php esc_html_e( 'Helpful if you want to delete attached featured image when posts are automatically deleted.', 'feedzy-rss-feeds' ); ?></div>
230+
</div>
231+
</div>
218232
<div class="form-block">
219233
<div class="fz-form-row">
220234
<div class="fz-form-col-6">

includes/views/import-metabox-edit.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ class="fz-switch-toggle" type="checkbox" value="yes"
621621
</div>
622622
<div class="feedzy-accordion-item__content border-top">
623623
<div class="fz-form-wrap">
624-
<div class="form-block form-block-two-column <?php echo esc_attr( apply_filters( 'feedzy_upsell_class', '' ) ); ?>">
624+
<div class="feedzy-auto-delete form-block form-block-two-column <?php echo esc_attr( apply_filters( 'feedzy_upsell_class', '' ) ); ?>">
625625
<?php echo wp_kses_post( apply_filters( 'feedzy_upsell_content', '', 'auto-delete', 'import' ) ); ?>
626626
<div class="fz-left">
627627
<h4 class="h4"><?php esc_html_e( 'Auto-Delete', 'feedzy-rss-feeds' ); ?> <?php echo ! feedzy_is_pro() ? ' <span class="pro-label">PRO</span>' : ''; ?></h4>
@@ -637,6 +637,25 @@ class="fz-switch-toggle" type="checkbox" value="yes"
637637
</div>
638638
</div>
639639

640+
<div class="form-block form-block-two-column <?php echo esc_attr( apply_filters( 'feedzy_upsell_class', '' ) ); ?>">
641+
<?php echo wp_kses_post( apply_filters( 'feedzy_upsell_content', '', 'delete-featured-image', 'import' ) ); ?>
642+
<div class="fz-left"><h4 class="h4"><?php esc_html_e( 'Delete image', 'feedzy-rss-feeds' ); ?><?php echo ! feedzy_is_pro() ? ' <span class="pro-label">PRO</span>' : ''; ?></h4>
643+
</div>
644+
<div class="fz-right">
645+
<div class="fz-form-group">
646+
<div class="fz-form-switch">
647+
<input id="delete-attached-media" name="feedzy_meta_data[import_feed_delete_media]"
648+
class="fz-switch-toggle" type="checkbox" value="yes"
649+
<?php echo esc_attr( $import_feed_delete_media ); ?>>
650+
<label class="feedzy-inline form-label" for="delete-attached-media"><?php esc_html_e( 'Delete attached featured image', 'feedzy-rss-feeds' ); ?></label>
651+
</div>
652+
</div>
653+
<div class="help-text">
654+
<?php echo wp_sprintf( esc_html__( 'Helpful if you want to delete attached featured image when posts are automatically deleted.', 'feedzy-rss-feeds' ) ); ?>
655+
</div>
656+
</div>
657+
</div>
658+
640659
<div class="form-block form-block-two-column">
641660
<div class="fz-left">
642661
<h4 class="h4"><?php esc_html_e( 'Remove Duplicates', 'feedzy-rss-feeds' ); ?></h4>

tests/e2e/specs/upsell.spec.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ test.describe( 'Upsell', () => {
4242
upgradeAlert = page.locator('#feedzy-import-form a[href*="utm_campaign=schedule-import-job"]');
4343
await expect( upgradeAlert ).toBeVisible();
4444

45+
await page.locator('#delete-attached-media').hover({ force: true });
46+
upgradeAlert = page.locator('#feedzy-import-form a[href*="utm_campaign=delete-featured-image"]');
47+
await expect( upgradeAlert ).toBeVisible();
48+
4549
await page.locator('.fz-form-group:has( #feedzy_mark_duplicate )').hover({ force: true });
4650
upgradeAlert = page.locator('#feedzy-import-form a[href*="utm_campaign=remove-duplicates"]');
4751
await expect( upgradeAlert ).toBeVisible();

0 commit comments

Comments
 (0)