Some code fixes – Apostrophe and escaped character html
-
Hi !
I added problems because my post titles contains some apostrophe that was escaped by some function.
Consequences : I had some html markup on my post series navigation.I basicly just found that the problem came from the title attribut in functions.
so here are my tweaks, in orgSeries-template-tags.php :
function wp_series_nav($series_ID, $next = TRUE, $customtext = 'deprecated', $display = FALSE, $calc = false) { global $post, $orgseries; if ( empty($series_ID) && $calc ) { $series = get_the_series(); if ( !empty($series) ) { $series_ID = $series[0]->term_id; } } if (empty($series_ID)) return false; //we can't do anything without the series_ID; $cur_id = $post->ID; $settings = $orgseries->settings; $series_part_key = apply_filters('orgseries_part_key', SERIES_PART_KEY, $series_ID); $cur_part = get_post_meta($cur_id, $series_part_key, true); $series_posts = get_objects_in_term($series_ID, 'series'); $posts_in_series = array(); $posts_in_series = get_series_order($series_posts, $cur_id, $series_ID); $result = ''; foreach ($posts_in_series as $seriespost) { $custom_next = token_replace($settings['series_nextpost_nav_custom_text'], 'other', $seriespost['id'], $series_ID); $custom_prev = token_replace($settings['series_prevpost_nav_custom_text'], 'other', $seriespost['id'], $series_ID); if ($next) { if ( ($seriespost['part'] - $cur_part) == 1) { if ( !empty($custom_next) ) $title = $custom_next; else $title = get_the_title($seriespost['id']); $link = get_permalink($seriespost['id']); $result .= '<a href="' . $link . '">' . $title . '</a>'; } } if (!$next) { if (($cur_part - $seriespost['part']) == 1) { if (!empty($custom_prev)) $title = $custom_prev; else $title = get_the_title($seriespost['id']); $link = get_permalink($seriespost['id']); $result .= '<a href="' . $link . '">' . $title . '</a>'; } } } if ($display) echo $result; else return $result; }
function series_post_title($post_ID, $linked=TRUE, $short_title = false) { global $post; if (!isset($post_ID)) $post_ID = (int)$post->ID; if(($short_title != false) && (!empty($short_title))) $title = $short_title; else $title = get_the_title($post_ID); if ($linked) { $link = get_permalink($post_ID); $return = '<a href="' . $link . '">' . $title . '</a>'; } else { $return = $title; } return $return; }
Hope it could help !
- The topic ‘Some code fixes – Apostrophe and escaped character html’ is closed to new replies.