Changeset 2993080
- Timestamp:
- 11/09/2023 10:36:19 AM (2 years ago)
- Location:
- linkgenius
- Files:
-
- 10 edited
- 13 copied
-
tags/1.1.3 (copied) (copied from linkgenius/trunk)
-
tags/1.1.3/assets/css/linkgenius-admin.css (modified) (1 diff)
-
tags/1.1.3/assets/js/editor/editor.asset.php (copied) (copied from linkgenius/trunk/assets/js/editor/editor.asset.php)
-
tags/1.1.3/assets/js/editor/editor.js (copied) (copied from linkgenius/trunk/assets/js/editor/editor.js)
-
tags/1.1.3/assets/js/editor/editor.js.LICENSE.txt (copied) (copied from linkgenius/trunk/assets/js/editor/editor.js.LICENSE.txt)
-
tags/1.1.3/includes/CPT.php (copied) (copied from linkgenius/trunk/includes/CPT.php)
-
tags/1.1.3/includes/Editor.php (copied) (copied from linkgenius/trunk/includes/Editor.php)
-
tags/1.1.3/includes/Importer.php (copied) (copied from linkgenius/trunk/includes/Importer.php) (3 diffs)
-
tags/1.1.3/includes/Metabox.php (modified) (10 diffs)
-
tags/1.1.3/includes/Redirect.php (copied) (copied from linkgenius/trunk/includes/Redirect.php) (4 diffs)
-
tags/1.1.3/includes/Settings.php (copied) (copied from linkgenius/trunk/includes/Settings.php)
-
tags/1.1.3/includes/Shortcode.php (modified) (1 diff)
-
tags/1.1.3/languages/linkgenius-fallback.po (copied) (copied from linkgenius/trunk/languages/linkgenius-fallback.po)
-
tags/1.1.3/languages/linkgenius.pot (copied) (copied from linkgenius/trunk/languages/linkgenius.pot)
-
tags/1.1.3/linkgenius.php (copied) (copied from linkgenius/trunk/linkgenius.php) (1 diff)
-
tags/1.1.3/readme.txt (copied) (copied from linkgenius/trunk/readme.txt) (2 diffs)
-
trunk/assets/css/linkgenius-admin.css (modified) (1 diff)
-
trunk/includes/Importer.php (modified) (3 diffs)
-
trunk/includes/Metabox.php (modified) (10 diffs)
-
trunk/includes/Redirect.php (modified) (4 diffs)
-
trunk/includes/Shortcode.php (modified) (1 diff)
-
trunk/linkgenius.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
linkgenius/tags/1.1.3/assets/css/linkgenius-admin.css
r2967528 r2993080 12 12 background-color: #ADFFAD; 13 13 } 14 15 .broken-status { 16 color: #b32d2e; 17 } 18 19 .changed-status { 20 color: #d35400; 21 } 22 23 .misc-pub-link-status:before { 24 content: "\f225"; 25 font: normal 20px/1 dashicons; 26 speak: never; 27 display: inline-block; 28 margin-left: -1px; 29 padding-right: 3px; 30 vertical-align: top; 31 -webkit-font-smoothing: antialiased; 32 -moz-osx-font-smoothing: grayscale; 33 color: #8c8f94; 34 } -
linkgenius/tags/1.1.3/includes/Importer.php
r2976864 r2993080 11 11 "title" => ["title","name", "link_title"], 12 12 "general_slug" => ["slug", "short_url"], 13 "general_target_url" => ["target_url","url","destination_url"], 14 "general_redirect_type" => ["redirect_type"], 13 "general_target_url" => ["target_url","url","destination_url"] 15 14 ]; 16 15 private $optional_fields = [ 16 "general_redirect_type" => ["redirect_type"], 17 17 "general_order" => ["order"], 18 18 "general_uncloak" => ["uncloak", "uncloaked", "uncloak_link"], … … 98 98 <thead> 99 99 <tr> 100 <th><?php echo implode("</th><th>", $headers) ?></th>100 <th><?php echo implode("</th><th>", array_map(fn($v) => preg_replace("/^[a-z]+_/", "", $v) ,$headers)) ?></th> 101 101 </tr> 102 102 </thead> … … 261 261 // k is destination, v is accepted values 262 262 foreach($fields as $k => $v) { 263 $v[] = $k; // add the destination key to the accepted values 263 264 foreach($original as $ko_unmapped => $vo) { 264 265 $ko = str_replace(["_ta_", "link_"], "", $ko_unmapped); -
linkgenius/tags/1.1.3/includes/Metabox.php
r2969592 r2993080 10 10 <script type="text/javascript"> 11 11 jQuery(document).ready(function($) { 12 console.log("loaded");13 12 $('#reset_clicks').on('click', function(e) { 14 13 e.preventDefault(); … … 35 34 public function sanitize_checkbox($value, $field_args, $field) { 36 35 // Return 0 instead of false if null value given. Otherwise no value will be saved and default value will be applied 37 return is_null($value) ? 0 : $value;36 return is_null($value) ? '0' : '1'; 38 37 } 39 38 … … 67 66 } 68 67 68 public function get_default($for_settings, $main_name, $option_name) { 69 $settings = Settings::instance()->get_settings(); 70 return (!$for_settings && isset($settings[$option_name])) 71 ? $settings[$option_name] 72 : (Settings::$DEFAULTS[$main_name][$option_name]??''); 73 } 74 69 75 public function get_general_fields($for_settings = false) 70 76 { … … 92 98 'name' => __('Target URL*', 'linkgenius'), 93 99 'id' => 'general_target_url', 94 'type' => 'text _url',100 'type' => 'text', 95 101 'attributes' => array ( 96 102 'required' => 'required' … … 159 165 ); 160 166 $fields[] = array( 161 'name' => __('No Cloaking', 'linkgenius'),167 'name' => __('No Branding', 'linkgenius'), 162 168 'id' => 'general_uncloak', 163 'desc' => __('When checked affiliate url of LinkGenius Links will be outputted in content instead of the slug.', 'linkgenius')169 'desc' => __('When enabled affiliate url of LinkGenius Links will be outputted in content instead of the slug.', 'linkgenius') 164 170 ) + $check_options; 165 171 return $fields; … … 178 184 'id' => 'appearance_css_classes', 179 185 'type' => 'text', 180 'desc' => __('Comma separated list of CSS classes', 'linkgenius') 186 'desc' => __('Comma separated list of CSS classes', 'linkgenius'), 187 'attributes' => array ( 188 'placeholder' => $this->get_default($for_settings, 'appearance', 'appearance_css_classes') 189 ) 181 190 ), 182 191 $this->add_check_options(array( … … 202 211 'id' => 'appearance_rel_tags', 203 212 'type' => 'text', 204 'desc' => __('Comma separated list of additional rel tags', 'linkgenius') 213 'desc' => __('Comma separated list of additional rel tags', 'linkgenius'), 214 'attributes' => array ( 215 'placeholder' => $this->get_default($for_settings, 'appearance', 'appearance_rel_tags') 216 ) 205 217 ); 206 218 if($for_settings) { … … 328 340 { 329 341 $fields = array(); 330 if($for_settings) { 331 $server_side_condition = array( 332 'data-conditional-id' => 'tracking_method', 333 'data-conditional-value' => 'server', 334 ); 335 $required_server_side_conditions = array_merge($server_side_condition, array( 336 'required' => 'required' 337 )); 338 $fields = array_merge($fields, array( 339 array( 340 'id' => 'tracking_configuration_title', 341 'type' => 'title', 342 'name' => __('Tracking Configuration', 'linkgenius'), 343 'desc' => __('Tracking api description', 'linkgenius'), 344 ), 345 array( 346 'name' => __('Tracking Method', 'linkgenius'), 347 'id' => 'tracking_method', 348 'type' => 'radio', 349 'options' => array( 350 'client' => __('Javascript', 'linkgenius'), 351 'server' => __('Serverside Api', 'linkgenius') 352 ), 353 'default' => Settings::$DEFAULTS['tracking']['tracking_method']??'client', 354 'desc' => __('Javascript tracking works best if you have Google Analytics configured on your website and you place all links via shortcodes or blocks. It does not allow for target_url tracking (only cloacked_url) and might miss category parameter on manually placed links. Serverside allows you to include these parameters and allows you to track your links when placed on external source (i.e. social media). Furthermore, it does not require GA to be configured on you website. However, it is slightly harder to config and increases traffic from server.', 'linkgenius') 355 ), 356 array( 357 'name' => __('GA4 Measurement ID', 'linkgenius'), 358 'id' => 'tracking_measurement_id', 359 'type' => 'text', 360 'attributes' => $required_server_side_conditions 361 ), 362 array( 363 'name' => __('GA4 Api Secret', 'linkgenius'), 364 'id' => 'tracking_api_secret', 365 'type' => 'text', 366 'attributes' => $required_server_side_conditions 367 ), 368 array( 369 'name' => __('Linkgenius Cookie Fallback', 'linkgenius'), 370 'id' => 'tracking_cookie_fallback', 371 'type' => 'checkbox', 372 'attributes' => $server_side_condition, 373 'sanitization_cb' => [$this, 'sanitize_checkbox'], 374 'description' => __('<p>When using serverside tracking, LinkGenius tries to send the userid to google analytics by reading the _ga cookie. However, if this cookie does not exist, either because Google Analytics is not used on your website or because the user has not vistited any non-redirecting pages, LinkGenius might use an own identifier to detect unique/returning visitors. This places a cookie with the id with a lifetime of 90 days.</p>' 375 , 'linkgenius'), 376 'default' => Settings::$DEFAULTS['tracking']['tracking_cookie_fallback']??true 377 ), 378 array( 379 'name' => __('Don\'t track bots', 'linkgenius'), 380 'id' => 'tracking_no_bots', 381 'type' => 'checkbox', 382 'attributes' => $server_side_condition, 383 'sanitization_cb' => [$this, 'sanitize_checkbox'], 384 'default' => Settings::$DEFAULTS['tracking']['tracking_no_bots']??true 385 ) 386 )); 387 $fields[] = array( 388 'id' => 'tracking_defaults_title', 389 'type' => 'title', 390 'name' => __('Default GA tracking settings', 'linkgenius'), 391 'desc' => __('Default settings, can be overriden per individual link.', 'linkgenius') 392 ); 393 } 394 else { 342 $settings = Settings::instance()->get_settings(); 343 if(!$for_settings) { 395 344 $fields[] = array( 396 345 'id' => 'tracking_title', … … 408 357 'id' => 'tracking_name', 409 358 'type' => 'text', 410 'default' => Settings::$DEFAULTS['tracking']['tracking_name']??"" 359 // 'default' => Settings::$DEFAULTS['tracking']['tracking_name']??"" 360 'attributes' => array( 361 'placeholder' => $this->get_default($for_settings, 'tracking', 'tracking_name') 362 ) 411 363 ), 412 364 array( … … 414 366 'id' => 'tracking_parameters', 415 367 'type' => 'textarea_small', 416 'default' => Settings::$DEFAULTS['tracking']['tracking_parameters']??"", 368 // 'default' => Settings::$DEFAULTS['tracking']['tracking_parameters']??"", 369 'attributes' => array( 370 'placeholder' => sprintf(__('Default: %s', 'linkgenius'), $this->get_default($for_settings, 'tracking', 'tracking_parameters')) 371 ), 417 372 'desc' => __('You can use the variables %cloaked_url%, %target_url%, %categories%, %tags% and %referrer%', 'linkgenius') 418 373 ) -
linkgenius/tags/1.1.3/includes/Redirect.php
r2976863 r2993080 16 16 $post = get_post(); 17 17 18 if ($post && 'linkgenius_link'=== $post->post_type) {18 if ($post && LINKGENIUS_TYPE_LINK === $post->post_type) { 19 19 $data = get_post_meta($post->ID); 20 20 … … 29 29 $settings = Settings::instance()->get_settings(); 30 30 $target_url = $data['general_target_url']; 31 $get_val = fn($key) => ( $data[$key]=== 'default' ? $settings[$key] : $data[$key]);31 $get_val = fn($key) => (($data[$key]??'default') === 'default' ? $settings[$key] : $data[$key]); 32 32 33 33 $redirect_type = $get_val('general_redirect_type'); … … 43 43 // Robot tags 44 44 $robot_tags = []; 45 if($get_val('appearance_nofollow_attribute') == ='1') {45 if($get_val('appearance_nofollow_attribute') == '1') { 46 46 $robot_tags[] = 'nofollow'; 47 47 $robot_tags[] = 'noindex'; 48 48 } 49 if($get_val('appearance_sponsored_attribute') == ='1') {49 if($get_val('appearance_sponsored_attribute') == '1') { 50 50 $robot_tags[] = 'sponsored'; 51 51 } … … 57 57 header('Expires: Thu, 01 Jan 1970 00:00:00 GMT'); 58 58 header('Pragma: no-cache'); 59 header('X-Redirect-By: LinkGenius (by https://all-affiliates.com)'); 60 wp_redirect( $target_url, intval($redirect_type)); 59 wp_redirect( $target_url, intval($redirect_type), 'LinkGenius (by https://all-affiliates.com)'); 61 60 flush(); 62 61 do_action("linkgenius_after_redirect", $data, $post->ID); -
linkgenius/tags/1.1.3/includes/Shortcode.php
r2969592 r2993080 35 35 $taxonomy_type = !empty($atts['category']) ? 'category' : 'tag'; 36 36 $args = array( 37 'post_type' => CPT::TYPE_LINK,37 'post_type' => LINKGENIUS_TYPE_LINK, 38 38 'tax_query' => array( 39 39 array( 40 'taxonomy' => $taxonomy_type === 'category' ? CPT::TYPE_CATEGORY : CPT::TYPE_TAG,40 'taxonomy' => $taxonomy_type === 'category' ? LINKGENIUS_TYPE_CATEGORY : LINKGENIUS_TYPE_TAG, 41 41 'field' => 'slug', 42 42 'terms' => $atts[$taxonomy_type] -
linkgenius/tags/1.1.3/linkgenius.php
r2976863 r2993080 4 4 Plugin URI: https://all-affiliates.com/linkgenius/ 5 5 Description: LinkGenius is a powerful (affiliate) link management plugin. With LinkGenius, you can effortlessly organize, optimize, and track your (affiliate) links, unlocking a new level of efficiency. 6 Version: 1.1. 26 Version: 1.1.3 7 7 Author: all-affiliates.com 8 8 Author URI: https://all-affiliates.com -
linkgenius/tags/1.1.3/readme.txt
r2976863 r2993080 4 4 Donate link: https://all-affiliates.com/linkgenius/ 5 5 Requires at least: 5.8 6 Tested up to: 6. 3.16 Tested up to: 6.4 7 7 Requires PHP: 7.4 8 Stable tag: 1.1. 28 Stable tag: 1.1.3 9 9 License: GPL2 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 111 111 == Changelog == 112 112 113 = 1.1.3 = 114 - Improved importing by adding fields for broader support 115 - Fixed issue of nofollow and sponsored headers not always being set correctly 116 - Improved Linkgenius post type constants 117 - Added css to support LinkHealth feature 118 - Tested on WordPress 6.4 119 113 120 = 1.1.2 = 114 121 - Added filtering links on Tag and Category in admin table -
linkgenius/trunk/assets/css/linkgenius-admin.css
r2967528 r2993080 12 12 background-color: #ADFFAD; 13 13 } 14 15 .broken-status { 16 color: #b32d2e; 17 } 18 19 .changed-status { 20 color: #d35400; 21 } 22 23 .misc-pub-link-status:before { 24 content: "\f225"; 25 font: normal 20px/1 dashicons; 26 speak: never; 27 display: inline-block; 28 margin-left: -1px; 29 padding-right: 3px; 30 vertical-align: top; 31 -webkit-font-smoothing: antialiased; 32 -moz-osx-font-smoothing: grayscale; 33 color: #8c8f94; 34 } -
linkgenius/trunk/includes/Importer.php
r2976864 r2993080 11 11 "title" => ["title","name", "link_title"], 12 12 "general_slug" => ["slug", "short_url"], 13 "general_target_url" => ["target_url","url","destination_url"], 14 "general_redirect_type" => ["redirect_type"], 13 "general_target_url" => ["target_url","url","destination_url"] 15 14 ]; 16 15 private $optional_fields = [ 16 "general_redirect_type" => ["redirect_type"], 17 17 "general_order" => ["order"], 18 18 "general_uncloak" => ["uncloak", "uncloaked", "uncloak_link"], … … 98 98 <thead> 99 99 <tr> 100 <th><?php echo implode("</th><th>", $headers) ?></th>100 <th><?php echo implode("</th><th>", array_map(fn($v) => preg_replace("/^[a-z]+_/", "", $v) ,$headers)) ?></th> 101 101 </tr> 102 102 </thead> … … 261 261 // k is destination, v is accepted values 262 262 foreach($fields as $k => $v) { 263 $v[] = $k; // add the destination key to the accepted values 263 264 foreach($original as $ko_unmapped => $vo) { 264 265 $ko = str_replace(["_ta_", "link_"], "", $ko_unmapped); -
linkgenius/trunk/includes/Metabox.php
r2969592 r2993080 10 10 <script type="text/javascript"> 11 11 jQuery(document).ready(function($) { 12 console.log("loaded");13 12 $('#reset_clicks').on('click', function(e) { 14 13 e.preventDefault(); … … 35 34 public function sanitize_checkbox($value, $field_args, $field) { 36 35 // Return 0 instead of false if null value given. Otherwise no value will be saved and default value will be applied 37 return is_null($value) ? 0 : $value;36 return is_null($value) ? '0' : '1'; 38 37 } 39 38 … … 67 66 } 68 67 68 public function get_default($for_settings, $main_name, $option_name) { 69 $settings = Settings::instance()->get_settings(); 70 return (!$for_settings && isset($settings[$option_name])) 71 ? $settings[$option_name] 72 : (Settings::$DEFAULTS[$main_name][$option_name]??''); 73 } 74 69 75 public function get_general_fields($for_settings = false) 70 76 { … … 92 98 'name' => __('Target URL*', 'linkgenius'), 93 99 'id' => 'general_target_url', 94 'type' => 'text _url',100 'type' => 'text', 95 101 'attributes' => array ( 96 102 'required' => 'required' … … 159 165 ); 160 166 $fields[] = array( 161 'name' => __('No Cloaking', 'linkgenius'),167 'name' => __('No Branding', 'linkgenius'), 162 168 'id' => 'general_uncloak', 163 'desc' => __('When checked affiliate url of LinkGenius Links will be outputted in content instead of the slug.', 'linkgenius')169 'desc' => __('When enabled affiliate url of LinkGenius Links will be outputted in content instead of the slug.', 'linkgenius') 164 170 ) + $check_options; 165 171 return $fields; … … 178 184 'id' => 'appearance_css_classes', 179 185 'type' => 'text', 180 'desc' => __('Comma separated list of CSS classes', 'linkgenius') 186 'desc' => __('Comma separated list of CSS classes', 'linkgenius'), 187 'attributes' => array ( 188 'placeholder' => $this->get_default($for_settings, 'appearance', 'appearance_css_classes') 189 ) 181 190 ), 182 191 $this->add_check_options(array( … … 202 211 'id' => 'appearance_rel_tags', 203 212 'type' => 'text', 204 'desc' => __('Comma separated list of additional rel tags', 'linkgenius') 213 'desc' => __('Comma separated list of additional rel tags', 'linkgenius'), 214 'attributes' => array ( 215 'placeholder' => $this->get_default($for_settings, 'appearance', 'appearance_rel_tags') 216 ) 205 217 ); 206 218 if($for_settings) { … … 328 340 { 329 341 $fields = array(); 330 if($for_settings) { 331 $server_side_condition = array( 332 'data-conditional-id' => 'tracking_method', 333 'data-conditional-value' => 'server', 334 ); 335 $required_server_side_conditions = array_merge($server_side_condition, array( 336 'required' => 'required' 337 )); 338 $fields = array_merge($fields, array( 339 array( 340 'id' => 'tracking_configuration_title', 341 'type' => 'title', 342 'name' => __('Tracking Configuration', 'linkgenius'), 343 'desc' => __('Tracking api description', 'linkgenius'), 344 ), 345 array( 346 'name' => __('Tracking Method', 'linkgenius'), 347 'id' => 'tracking_method', 348 'type' => 'radio', 349 'options' => array( 350 'client' => __('Javascript', 'linkgenius'), 351 'server' => __('Serverside Api', 'linkgenius') 352 ), 353 'default' => Settings::$DEFAULTS['tracking']['tracking_method']??'client', 354 'desc' => __('Javascript tracking works best if you have Google Analytics configured on your website and you place all links via shortcodes or blocks. It does not allow for target_url tracking (only cloacked_url) and might miss category parameter on manually placed links. Serverside allows you to include these parameters and allows you to track your links when placed on external source (i.e. social media). Furthermore, it does not require GA to be configured on you website. However, it is slightly harder to config and increases traffic from server.', 'linkgenius') 355 ), 356 array( 357 'name' => __('GA4 Measurement ID', 'linkgenius'), 358 'id' => 'tracking_measurement_id', 359 'type' => 'text', 360 'attributes' => $required_server_side_conditions 361 ), 362 array( 363 'name' => __('GA4 Api Secret', 'linkgenius'), 364 'id' => 'tracking_api_secret', 365 'type' => 'text', 366 'attributes' => $required_server_side_conditions 367 ), 368 array( 369 'name' => __('Linkgenius Cookie Fallback', 'linkgenius'), 370 'id' => 'tracking_cookie_fallback', 371 'type' => 'checkbox', 372 'attributes' => $server_side_condition, 373 'sanitization_cb' => [$this, 'sanitize_checkbox'], 374 'description' => __('<p>When using serverside tracking, LinkGenius tries to send the userid to google analytics by reading the _ga cookie. However, if this cookie does not exist, either because Google Analytics is not used on your website or because the user has not vistited any non-redirecting pages, LinkGenius might use an own identifier to detect unique/returning visitors. This places a cookie with the id with a lifetime of 90 days.</p>' 375 , 'linkgenius'), 376 'default' => Settings::$DEFAULTS['tracking']['tracking_cookie_fallback']??true 377 ), 378 array( 379 'name' => __('Don\'t track bots', 'linkgenius'), 380 'id' => 'tracking_no_bots', 381 'type' => 'checkbox', 382 'attributes' => $server_side_condition, 383 'sanitization_cb' => [$this, 'sanitize_checkbox'], 384 'default' => Settings::$DEFAULTS['tracking']['tracking_no_bots']??true 385 ) 386 )); 387 $fields[] = array( 388 'id' => 'tracking_defaults_title', 389 'type' => 'title', 390 'name' => __('Default GA tracking settings', 'linkgenius'), 391 'desc' => __('Default settings, can be overriden per individual link.', 'linkgenius') 392 ); 393 } 394 else { 342 $settings = Settings::instance()->get_settings(); 343 if(!$for_settings) { 395 344 $fields[] = array( 396 345 'id' => 'tracking_title', … … 408 357 'id' => 'tracking_name', 409 358 'type' => 'text', 410 'default' => Settings::$DEFAULTS['tracking']['tracking_name']??"" 359 // 'default' => Settings::$DEFAULTS['tracking']['tracking_name']??"" 360 'attributes' => array( 361 'placeholder' => $this->get_default($for_settings, 'tracking', 'tracking_name') 362 ) 411 363 ), 412 364 array( … … 414 366 'id' => 'tracking_parameters', 415 367 'type' => 'textarea_small', 416 'default' => Settings::$DEFAULTS['tracking']['tracking_parameters']??"", 368 // 'default' => Settings::$DEFAULTS['tracking']['tracking_parameters']??"", 369 'attributes' => array( 370 'placeholder' => sprintf(__('Default: %s', 'linkgenius'), $this->get_default($for_settings, 'tracking', 'tracking_parameters')) 371 ), 417 372 'desc' => __('You can use the variables %cloaked_url%, %target_url%, %categories%, %tags% and %referrer%', 'linkgenius') 418 373 ) -
linkgenius/trunk/includes/Redirect.php
r2976863 r2993080 16 16 $post = get_post(); 17 17 18 if ($post && 'linkgenius_link'=== $post->post_type) {18 if ($post && LINKGENIUS_TYPE_LINK === $post->post_type) { 19 19 $data = get_post_meta($post->ID); 20 20 … … 29 29 $settings = Settings::instance()->get_settings(); 30 30 $target_url = $data['general_target_url']; 31 $get_val = fn($key) => ( $data[$key]=== 'default' ? $settings[$key] : $data[$key]);31 $get_val = fn($key) => (($data[$key]??'default') === 'default' ? $settings[$key] : $data[$key]); 32 32 33 33 $redirect_type = $get_val('general_redirect_type'); … … 43 43 // Robot tags 44 44 $robot_tags = []; 45 if($get_val('appearance_nofollow_attribute') == ='1') {45 if($get_val('appearance_nofollow_attribute') == '1') { 46 46 $robot_tags[] = 'nofollow'; 47 47 $robot_tags[] = 'noindex'; 48 48 } 49 if($get_val('appearance_sponsored_attribute') == ='1') {49 if($get_val('appearance_sponsored_attribute') == '1') { 50 50 $robot_tags[] = 'sponsored'; 51 51 } … … 57 57 header('Expires: Thu, 01 Jan 1970 00:00:00 GMT'); 58 58 header('Pragma: no-cache'); 59 header('X-Redirect-By: LinkGenius (by https://all-affiliates.com)'); 60 wp_redirect( $target_url, intval($redirect_type)); 59 wp_redirect( $target_url, intval($redirect_type), 'LinkGenius (by https://all-affiliates.com)'); 61 60 flush(); 62 61 do_action("linkgenius_after_redirect", $data, $post->ID); -
linkgenius/trunk/includes/Shortcode.php
r2969592 r2993080 35 35 $taxonomy_type = !empty($atts['category']) ? 'category' : 'tag'; 36 36 $args = array( 37 'post_type' => CPT::TYPE_LINK,37 'post_type' => LINKGENIUS_TYPE_LINK, 38 38 'tax_query' => array( 39 39 array( 40 'taxonomy' => $taxonomy_type === 'category' ? CPT::TYPE_CATEGORY : CPT::TYPE_TAG,40 'taxonomy' => $taxonomy_type === 'category' ? LINKGENIUS_TYPE_CATEGORY : LINKGENIUS_TYPE_TAG, 41 41 'field' => 'slug', 42 42 'terms' => $atts[$taxonomy_type] -
linkgenius/trunk/linkgenius.php
r2976863 r2993080 4 4 Plugin URI: https://all-affiliates.com/linkgenius/ 5 5 Description: LinkGenius is a powerful (affiliate) link management plugin. With LinkGenius, you can effortlessly organize, optimize, and track your (affiliate) links, unlocking a new level of efficiency. 6 Version: 1.1. 26 Version: 1.1.3 7 7 Author: all-affiliates.com 8 8 Author URI: https://all-affiliates.com -
linkgenius/trunk/readme.txt
r2976863 r2993080 4 4 Donate link: https://all-affiliates.com/linkgenius/ 5 5 Requires at least: 5.8 6 Tested up to: 6. 3.16 Tested up to: 6.4 7 7 Requires PHP: 7.4 8 Stable tag: 1.1. 28 Stable tag: 1.1.3 9 9 License: GPL2 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 111 111 == Changelog == 112 112 113 = 1.1.3 = 114 - Improved importing by adding fields for broader support 115 - Fixed issue of nofollow and sponsored headers not always being set correctly 116 - Improved Linkgenius post type constants 117 - Added css to support LinkHealth feature 118 - Tested on WordPress 6.4 119 113 120 = 1.1.2 = 114 121 - Added filtering links on Tag and Category in admin table
Note: See TracChangeset
for help on using the changeset viewer.