From 58596c09d697c04156e7a7c21d12217fa5cba217 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 28 Oct 2021 09:46:41 +0100 Subject: [PATCH] - Allow users to move the navigation, metabox or post series box to bottom #270 --- orgSeries-options.php | 52 ++++++++++++++++++++++++++++++++++ orgSeries-setup.php | 56 +++++++++++++++++++++++++++++++------ orgSeries-template-tags.php | 12 ++++---- readme.txt | 2 ++ 4 files changed, 108 insertions(+), 14 deletions(-) diff --git a/orgSeries-options.php b/orgSeries-options.php index 14aeede4..91b00f49 100644 --- a/orgSeries-options.php +++ b/orgSeries-options.php @@ -93,6 +93,9 @@ function orgseries_validate($input) { $newinput['latest_series_before_template'] = trim(stripslashes($input['latest_series_before_template'])); $newinput['latest_series_inner_template'] = trim(stripslashes($input['latest_series_inner_template'])); $newinput['latest_series_after_template'] = trim(stripslashes($input['latest_series_after_template'])); + $newinput['series_post_list_position'] = trim(stripslashes($input['series_post_list_position'])); + $newinput['series_metabox_position'] = trim(stripslashes($input['series_metabox_position'])); + $newinput['series_navigation_box_position'] = trim(stripslashes($input['series_navigation_box_position'])); //series-icon related settings $newinput['series_icon_width_series_page'] = (int) $input['series_icon_width_series_page']; @@ -290,6 +293,7 @@ function series_automation_core_fieldset() { $org_name = 'org_series_options'; $series_css_tougle = is_array($org_opt) && isset($org_opt['series_css_tougle']) ? $org_opt['series_css_tougle'] : 'default'; $series_perp_toc = is_array($org_opt) && isset($org_opt['series_perp_toc']) ? $org_opt['series_perp_toc'] : 10; + ?>
@@ -373,6 +377,12 @@ function series_templates_core_fieldset() { global $orgseries; $org_opt = $orgseries->settings; $org_name = 'org_series_options'; + + $post_box_locations = [ + 'default'=> __('As in Template', 'organize-series'), + 'top' => __('Top', 'organize-series'), + 'bottom' => __('Bottom', 'organize-series'), + ]; ?>
@@ -392,6 +402,20 @@ function series_templates_core_fieldset() { + + + + + + @@ -418,6 +442,20 @@ function series_templates_core_fieldset() { + + + + + + @@ -438,6 +476,20 @@ function series_templates_core_fieldset() { + + + + + + diff --git a/orgSeries-setup.php b/orgSeries-setup.php index b7dae8fc..6ea2e86c 100644 --- a/orgSeries-setup.php +++ b/orgSeries-setup.php @@ -259,6 +259,10 @@ function add_settings($reset = false) { 'series_toc_url' => 'series-toc', 'series_custom_base' => 'series', 'series_perp_toc' => 3, + 'series_post_list_limit' => '', + 'series_post_list_position' => 'default', + 'series_metabox_position' => 'default', + 'series_navigation_box_position' => 'default', 'series_toc_title' => __('Series Table of Contents << ','organize-series'), //new template options 'orgseries_api' => '', @@ -521,8 +525,17 @@ function orgSeries_header() { function add_series_post_list_box($content) { if ($this->settings['auto_tag_toggle']) { if ( ( is_single() || is_page() ) && $postlist = wp_postlist_display() ) { - $addcontent = $content; - $content = str_replace('%postcontent%', $addcontent, $postlist); + $position = isset($this->settings['series_post_list_position']) ? $this->settings['series_post_list_position'] : 'default'; + if($position === 'top'){ + $postlist = str_replace('%postcontent%', '', $postlist); + $content = $postlist.$content; + }elseif($position === 'bottom'){ + $postlist = str_replace('%postcontent%', '', $postlist); + $content = $content.$postlist; + }else{ + $addcontent = $content; + $content = str_replace('%postcontent%', $addcontent, $postlist); + } } } return $content; @@ -532,8 +545,17 @@ function add_series_post_list_box($content) { function add_series_meta($content) { if($this->settings['auto_tag_seriesmeta_toggle']) { if ($series_meta = wp_seriesmeta_write()) { - $addcontent = $content; - $content = str_replace('%postcontent%', $addcontent, $series_meta); + $position = isset($this->settings['series_metabox_position']) ? $this->settings['series_metabox_position'] : 'default'; + if($position === 'top'){ + $series_meta = str_replace('%postcontent%', '', $series_meta); + $content = $series_meta.$content; + }elseif($position === 'bottom'){ + $series_meta = str_replace('%postcontent%', '', $series_meta); + $content = $content.$series_meta; + }else{ + $addcontent = $content; + $content = str_replace('%postcontent%', $addcontent, $series_meta); + } } } return $content; @@ -548,8 +570,17 @@ function add_series_meta_excerpt($content) { if ( is_single() ) return; if($this->settings['auto_tag_seriesmeta_toggle']) { if ($series_meta = wp_seriesmeta_write(true)) { - $addcontent = $content; - $content = str_replace('%postcontent%', $addcontent, $series_meta); + $position = isset($this->settings['series_metabox_position']) ? $this->settings['series_metabox_position'] : 'default'; + if($position === 'top'){ + $series_meta = str_replace('%postcontent%', '', $series_meta); + $content = $series_meta.$content; + }elseif($position === 'bottom'){ + $series_meta = str_replace('%postcontent%', '', $series_meta); + $content = $content.$series_meta; + }else{ + $addcontent = $content; + $content = str_replace('%postcontent%', $addcontent, $series_meta); + } } } return $content; @@ -559,8 +590,17 @@ function add_series_meta_excerpt($content) { function series_nav_filter($content) { if (is_single() || is_page() ) { if($this->settings['auto_tag_nav_toggle'] && $series_nav = wp_assemble_series_nav() ) { - $addcontent = $content; - $content = str_replace('%postcontent%', $addcontent, $series_nav); + $position = isset($this->settings['series_navigation_box_position']) ? $this->settings['series_navigation_box_position'] : 'default'; + if($position === 'top'){ + $series_nav = str_replace('%postcontent%', '', $series_nav); + $content = $series_nav.$content; + }elseif($position === 'bottom'){ + $series_nav = str_replace('%postcontent%', '', $series_nav); + $content = $content.$series_nav; + }else{ + $addcontent = $content; + $content = str_replace('%postcontent%', $addcontent, $series_nav); + } } } return $content; diff --git a/orgSeries-template-tags.php b/orgSeries-template-tags.php index ae28ba2c..d7e7f28e 100644 --- a/orgSeries-template-tags.php +++ b/orgSeries-template-tags.php @@ -1,7 +1,7 @@ ' . $title . ''; } } - - + + } if ($display) echo $result; else return $result; @@ -841,7 +841,7 @@ function is_series( $slug = '' ) { if (!defined('SERIES_QUERYVAR')) { return false; } - + if ( $wp_query instanceof WP_Query ) { $series = get_query_var( SERIES_QUERYVAR ); } else { diff --git a/readme.txt b/readme.txt index f7dd715a..5adbd4f7 100644 --- a/readme.txt +++ b/readme.txt @@ -138,6 +138,8 @@ v2.7.0- [===unreleased===] * Fixed: Incorrect Yoast SEO attributes for Series TOC page #82 * Added: New menu link for Series #278 * Added: Post list series limit #271 +* Feature: Allow users to change the navigation, metabox or post series box position #270 + v2.6.3- 2021-09-29 * Fixed: Fix "invalid_taxonomy" WP_Error #88