Skip to content

Commit 2bc201f

Browse files
feat: improve General feed settings section (#1112)
I have improved the UX for the general settings of the feed importer and added two new options for removing HTML tags and feed import ordering. Also, I have removed the auto-delete images and posts setting as discussed.
1 parent 422c643 commit 2bc201f

File tree

5 files changed

+230
-203
lines changed

5 files changed

+230
-203
lines changed

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,9 @@ public function feedzy_import_feed_options() {
396396
$mark_duplicate_tag = get_post_meta( $post->ID, 'mark_duplicate_tag', true );
397397
$import_post_author = get_post_meta( $post->ID, 'import_post_author', true );
398398
$filter_conditions = get_post_meta( $post->ID, 'filter_conditions', true );
399+
$import_remove_html = get_post_meta( $post->ID, 'import_remove_html', true );
400+
$import_remove_html = 'yes' === $import_remove_html ? 'checked' : '';
401+
$import_order = get_post_meta( $post->ID, 'import_order', true );
399402

400403
if ( empty( $filter_conditions ) ) {
401404
$filter_conditions = apply_filters(
@@ -457,16 +460,6 @@ public function feedzy_import_feed_options() {
457460
if ( empty( $import_feed_limit ) ) {
458461
$import_feed_limit = 10;
459462
}
460-
$import_feed_delete_days = intval( get_post_meta( $post->ID, 'import_feed_delete_days', true ) );
461-
if ( empty( $import_feed_delete_days ) ) {
462-
$import_feed_delete_days = ! empty( $this->free_settings['general']['feedzy-delete-days'] ) ? (int) $this->free_settings['general']['feedzy-delete-days'] : 0;
463-
}
464-
465-
$import_feed_delete_media = get_post_meta( $post->ID, 'import_feed_delete_media', true );
466-
if ( empty( $import_feed_delete_media ) ) {
467-
$import_feed_delete_media = ! empty( $this->free_settings['general']['feedzy-delete-media'] ) ? 'yes' : 'no';
468-
}
469-
$import_feed_delete_media = 'yes' === $import_feed_delete_media ? 'checked' : '';
470463

471464
$default_thumbnail_id = 0;
472465
if ( feedzy_is_pro() ) {
@@ -607,15 +600,14 @@ public function save_feedzy_import_feed_meta( $post_id, $post ) {
607600
$data_meta['import_auto_translation'] = isset( $data_meta['import_auto_translation'] ) ? $data_meta['import_auto_translation'] : 'no';
608601
// Check feeds external image URL checkbox checked OR not.
609602
$data_meta['import_use_external_image'] = isset( $data_meta['import_use_external_image'] ) ? $data_meta['import_use_external_image'] : 'no';
603+
// Check feeds remove html checkbox checked OR not.
604+
$data_meta['import_remove_html'] = isset( $data_meta['import_remove_html'] ) ? $data_meta['import_remove_html'] : 'no';
610605

611606
// If it is filter_conditions we want to escape it.
612607
if ( isset( $data_meta['filter_conditions'] ) ) {
613608
$data_meta['filter_conditions'] = wp_slash( $data_meta['filter_conditions'] );
614609
}
615610

616-
// Check feeds remove attached media checkbox checked OR not.
617-
$data_meta['import_feed_delete_media'] = isset( $data_meta['import_feed_delete_media'] ) ? $data_meta['import_feed_delete_media'] : 'no';
618-
619611
// $data_meta['feedzy_post_author'] should be the author username. We convert it to the author ID.
620612
if ( ! empty( $data_meta['import_post_author'] ) ) {
621613
$author = get_user_by( 'login', $data_meta['import_post_author'] );
@@ -1491,6 +1483,8 @@ private function run_job( $job, $max ) {
14911483
$mark_duplicate_tag = get_post_meta( $job->ID, 'mark_duplicate_tag', true );
14921484
$mark_duplicate_tag = feedzy_is_pro() && ! empty( $mark_duplicate_tag ) ? preg_replace( '/[\[\]#]/', '', $mark_duplicate_tag ) : '';
14931485
$max = $import_feed_limit;
1486+
$import_remove_html = get_post_meta( $job->ID, 'import_remove_html', true );
1487+
$import_order = get_post_meta( $job->ID, 'import_order', true );
14941488

14951489
if ( empty( $filter_conditions ) ) {
14961490
$filter_conditions = apply_filters(
@@ -1565,6 +1559,7 @@ private function run_job( $job, $max ) {
15651559
'multiple_meta' => 'no',
15661560
'refresh' => '55_mins',
15671561
'filters' => $filter_conditions,
1562+
'sort' => $import_order,
15681563
),
15691564
$job
15701565
);
@@ -1964,6 +1959,11 @@ function ( $attr, $key ) {
19641959

19651960
$post_author = ! empty( $import_post_author ) ? $import_post_author : $job->post_author;
19661961

1962+
// strip all HTML tag when remove html option is enabled.
1963+
if ( 'yes' === $import_remove_html ) {
1964+
$post_content = wp_strip_all_tags( $post_content );
1965+
}
1966+
19671967
$new_post = apply_filters(
19681968
'feedzy_insert_post_args',
19691969
array(
@@ -2324,7 +2324,7 @@ public function get_job_feed( $options, $import_content = null, $raw_feed_also =
23242324
$feed = $admin->fetch_feed( $feed_url, isset( $options['refresh'] ) ? $options['refresh'] : '12_hours', $options );
23252325

23262326
$feed->force_feed( true );
2327-
$feed->enable_order_by_date( false );
2327+
$feed->enable_order_by_date( isset( $options['sort'] ) && ! empty( $options['sort'] ) );
23282328

23292329
if ( is_string( $feed ) ) {
23302330
return array();

0 commit comments

Comments
 (0)