Verfasste Forenbeiträge

Ansicht von 4 Antworten - 1 bis 4 (von insgesamt 4)
  • Thread-Starter Maddest

    (@maddest)

    Habe Deinen Artikel eben gelesen. Diese Methode ist natürlich viel eleganter. Ohne Frage werde ich dieses Konzept in den nächsten Tagen bei mir realisieren 😉

    Vielen Dank!!

    Thread-Starter Maddest

    (@maddest)

    Ich habe das Problem jetzt halbwegs gelöst. Die komplette Funktion habe ich nun in die header.php verschoben -> so funktioniert es!

    Diese Lösung ist allerdings nicht ganz zufriedenstellend. Bei einem Theme update wird die header.php überschrieben. Naja, damit kann man aber leben…

    Tausend Dank nochmals für die super Unterstützung!!

    Thread-Starter Maddest

    (@maddest)

    Hallo Frank,

    wieder vielen Dank für die Tipps. Für das XSS Problem habe ich eine extra Funktion eingebaut, die solche gefährlichen Zeichenketten rausfiltert 🙂

    Mittlerweile konnte ich das Problem einkreisen. Irgendwie ist es mir nicht möglich die $title Variable in die header.php zu übergeben. Nach einer Weile Google fand ich Lösungen, die schon anderen geholfen haben:

    http://wordpress.org/support/topic/pass-variables-from-templates-into-header?replies=6

    http://wordpress.org/support/topic/passing-value-through-get_header-to-headerphp?replies=9

    Bei mir klappt es aber trotzdem nicht. Vielleicht lässt es die aktuelle WordPress Version nicht mehr zu. Ich stehe vor einem Rätsel, aber bleibe dran!

    Thread-Starter Maddest

    (@maddest)

    Hallo Frank,

    vielen Dank für Deine schnelle Antwort.

    Hier ist der code, den ich meinem theme vor dem Aufruf der header.php gesetzt habe. Den Zugangscode für meine Datenbank und die Namen der Tabellen habe ich durch xxx ersetzt:

    function createMetaTitle($id)
    {
    
            $pretitle = array(                "usa" => "US",
                                                    "arg" => "Argentinian",
                                                    "aus" => "Australian",
    						"bra" => "Brasilian",
    						"chn" => "Chinese",
    						"den" => "Danish",
    						"fin" => "Finish",
    						"fra" => "French",
    						"ger" => "German",
    						"gbr" => "British",
    						"gre" => "Greek",
    						"ned" => "Dutch",
    						"hun" => "Hungarian",
    						"isl" => "Icelandic",
    						"ind" => "Indian",
    						"isr" => "Israeli",
    						"ita" => "Italian",
    						"mex" => "Mexican",
    						"nor" => "Norwegian",
    						"pur" => "Puerto Rico",
    						"que" => "Quebec",
    						"rsa" => "South African",
    						"spa" => "Spanish",
    						"swe" => "Swedish",
    						"tur" => "Turkish",
    						"hol" => "Dutch",
    						"saf" => "South African",
    						"jap" => "Japanese",
    						"can" => "Canadian",
    						"spa" => "Spanish",
                                                    "taw" => "Taiwan",
    						"?"   => "Unknown");
    
            $id_first = substr($id,0,2);
    	$mydb = new wpdb('xxx','xxx','xxx','localhost');
    
    	if($id_first == 01)
            {
                $rows = $mydb->get_results("SELECT number,country,edition,date FROM xxx WHERE id = ".$id);
                if($rows->number == 0) $rows->number = '';
                else $rows->number = '#'.$rows->number;
                if($rows->country == 'swe' || ($rows->country == 'den' && $rows->edition == 1) || $rows->country == 'fin' || $rows->country == 'nor')
                {
                    $year = substr($rows->date,0,4);
                    $title =  $pretitle[$rows->country]." MAD Magazine ".$year." ".$rows->number;
                }
                else
                {
                    $title =  $pretitle[$rows->country]." MAD Magazine ".$rows->number;
                }
    	}
    
    	if($id_first == 02)
            {
                $rows = $mydb->get_results("SELECT category,number,country,title FROM xxx WHERE id = ".$id);
                $item['title'] = getSpecialTitle($item['series'],$row[4],$item['number']);
                if($rows->number == 0) $rows->number = '';
                else $rows->number = '#'.$rows->number;
                $rows_series = $mydb->get_results("SELECT category FROM satiredb_lookup_cat_special WHERE id = ".$rows->category);
                if($rows_series->category == "Miscellaneous") $title = $rows->title." ".$rows->number;
                else $title = $rows_series->category." ".$rows->number;
    	}
    
    	if($id_first == 03)
            {
                $rows = $mydb->get_results("SELECT title,country,number FROM satiredb_madbook WHERE id = ".$id);
                if($rows->number != 0 || !empty($rows->number))
                {
                    if($rows->number == 0) $rows->number = '';
                    else $rows->number = '#'.$rows->number;
                    $title = $rows->title.' '.$rows->number;
                }
                else
                {
                    $title = $rows->title;
                }
    	}
    
    	if($id_first == 04)
            {
                $rows = $mydb->get_results("SELECT title,country FROM xxx WHERE id = ".$id);
                $title = $rows->title;
    	}
    
    	if($id_first == 0)
            {
                $rows = $mydb->get_results("SELECT country,title,number FROM xxx WHERE id = ".$id);
                if($rows->number == 0 || empty($rows->number))
                {
                    $title =  $rows->title;
                }
                else
                {
                    if($rows->number == 0) $rows->number = '';
                    else $rows->number = '#'.$rows->number;
                    $title =  $rows->title." ".$rows->number;
                }
    	}
    
    	return $title;
    }
    $collectible_id = $_GET['collectible_id'];
    $title = createMetaTitle($collectible_id);

    In der header.php versuche den Titel mit echo $title; auszugeben.

Ansicht von 4 Antworten - 1 bis 4 (von insgesamt 4)