A barra lateral não é exibida ao usar obter dados

Eu tenho uma barra lateral como um widget que é exibido corretamente em todas as páginas dependentes do id da super página. Estou usando uma function personalizada para calcular e exibir a barra lateral necessária.

function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; $postId = null; $ancestors = array(); if(count($post)>1){ $post = get_post(get_the_ID()); $cat = get_the_category( get_the_ID() ); //print_r($post); switch($cat[0]->name){ case "Press Release": $postId = PAGE_ABOUT; break; default: $postId = "00000"; break; } if($post->post_type == "event") $postId = PAGE_ABOUT; if($post->post_type == "technical_paper") $postId = PAGE_GEOLOGICAL; }else{ $cat = get_the_category( get_the_ID() ); if(isset($cat[0])){ switch($cat[0]->name){ case "Press Release": $postId = PAGE_ABOUT; break; case "Technical Paper": $postId = PAGE_GEOLOGICAL; break; } } } if($post){ if($post->post_type == "job_listing") $postId = PAGE_CAREER; if($post->post_type == "event") $postId = PAGE_ABOUT; if($post->post_type == "technical_paper") $postId = PAGE_GEOLOGICAL; $ancestors = get_post_ancestors($post->$pid); $root = count($ancestors) - 1; $parent = $ancestors[$root]; } if( is_page() && (is_page($pid) || $post->post_parent == $pid || in_array($pid, $ancestors)) || ($pid == $postId) ) return true; elseif( 5581 == $pid && $_REQUEST['ir'] ) return true; else return false; } 

Usando o plugin de lógica de widget, eu chamei essa function em cada barra lateral diferente usando is_tree(pid) .

Se você navegar para a página seguinte, a barra lateral mostrará https://gateway.spectrumasa.com:10443/investors/investor-news/news -room/investor-news- story, no entanto, obterá dados se navegar para a página seguinte que faz não.

https://gateway.spectrumasa.com:10443/investors/investor-news/news-room/investor-news-story?ir=http://cws.huginonline.com/S/139450/PR/201411/1873983. xml .

Como posso resolver este problema. Eu uso o mesmo método para a barra lateral direita.

O conteúdo está sendo exibido usando um shortcode, que leva os dados get e analisa o arquivo xml para produzir a saída.

 if(!require_once("MagicParser.php")){ echo "Please contact Support"; }else{ $ir_url = $_GET['ir']; $filename = $ir_url; } function myRecordHandler4($record) { print "".$record["BODY/PRESS_RELEASES/PRESS_RELEASE/HEADLINE"]." ("; print $record["BODY/PRESS_RELEASES/PRESS_RELEASE/PUBLISHED-DATE"].")"; $tmp = $record["BODY/PRESS_RELEASES/PRESS_RELEASE/MAIN"]; $tmp = str_replace(" ","",$tmp); $tmp = str_replace("please contact:","please contact:
",$tmp); $tmp = str_replace("Olset","Olset
",$tmp); $tmp = str_replace("Spectrum ASA","Spectrum ASA
",$tmp); $tmp = str_replace("49 65","49 65
",$tmp); print $tmp."
"; //print str_replace(" ","",$record["BODY/PRESS_RELEASES/PRESS_RELEASE/MAIN"])."
"; } function pageInvestmentResultA($record) { print "".$record["FILE_HEADLINE"]." ".$record["FILE-FORMAT"]."
"; } if(!$filename) echo "No content found!"; else{ MagicParser_parse($filename,"myRecordHandler4","xml|HEXML/"); MagicParser_parse($filename,"pageInvestmentResultA","xml|HEXML/BODY/PRESS_RELEASES/PRESS_RELEASE/FILES/FILE/"); }

Solutions Collecting From Web of "A barra lateral não é exibida ao usar obter dados"