Verfasste Forenbeiträge

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Forum: Plugins
    Als Antwort auf: Custom Post Fields -> URL Rewrite
    Thread-Starter berlinux

    (@berlinux)

    Hallo Mario,
    eigentlich hatte ich nicht’s geändert / weg gelassen.

    Das Custom Type ist „profil“ für diese existieren:

    archive-profile.php (für die Archiv-Seite)
    und
    die single-profile.php

    Rufe ich jetzt Domain.de/profile auf, zeigt er mir das Archiv und rufe ich domain.de/profile/hans-meisner auf, zeigt er mir das Profil von Hans Meisner.

    Soweit so gut. Ich möchte jetzt aber, wenn man domain.de/person/schmidt aufruft, dass er mir im Archiv alle Einträge mit „Schmidt“ zeigt und wenn dieses Ergebnis nur 1x vorkommt, er natürlich auf domain.de/profile/hans-schmidt springt. Also quasi den Eintrag in der DB sucht und automatisch darauf umleitet.

    Der folgende Code in der archiv-datei:

    if(!empty($p) && strlen($p) >= 4){
    
    $args = array(
    					'post_type' => 'profile',
    					'meta_key'		=> 'position',
    					'meta_value'	=> $p,
    					'orderby'   => 'date',
    					'order'     => 'DESC'
    			);
    			$search = 1;
    if($search == 1) {
    			$query = new WP_Query( $args );
    		
    			if($query->post_count == 1 && !empty($vorname) && !empty($vorname))  {
    				header('location:https://domain.de/profile/'. $vorname.'-'. $nachname);
    			}
    			if($query->post_count == 0) {
    				echo'Keine Datensätze vorhanden.';
    			}
    		}
    		else {
    			$args = array(
    					'post_type' => 'profile',
    					'orderby'   => 'date',
    					'order'     => 'DESC'
    			);
    			$query = new WP_Query($args);
    		//while ( ($search == 1 ? $s1 : $barcelona_q->have_posts()) ): ($search == 1 ? $2 : $barcelona_q->the_post());
    while ( $query->have_posts() ) : $query->the_post();

    funktioniert ja auch, wenn ich die Variable $p fest definieren. Logisch, weil ich den $_GET[‚p‘] ja nicht übergeben kann.

    • Diese Antwort wurde geändert vor 2 Jahren, 11 Monaten von berlinux.
    Forum: Plugins
    Als Antwort auf: Custom Post Fields -> URL Rewrite
    Thread-Starter berlinux

    (@berlinux)

    Hallo Mario,

    vielen Dank für dein Feedback.

    Ich glaube aber Du hast mich nicht ganz verstanden.

    Ja, ich nutze die Custom Post Types UI, dort gibt das Custom Post Type (Page) ‚Profile‘ dieses wird wiederum gefüttert durch Custom Fields.

    Dies widerum füttert die single-profile.php und archive.php und wird über /profile bzw. /profile/name des Profil-Beitrages aufgerufen. Soweit so gut.

    Ich möchte jetzt aber, wenn jetzt jemand in die Adresszeile domain.de/person/name_der/person eingibt, dass wenn es mehrere Personen in der DB gibt, er nur die Inhalte zu dieser Person anzeigt. Wenn es nur eine Person gibt, er natürlich den Beitrag direkt anzeigt (in dem Fall: single-Profile.php mit den Daten zu dieser Request URI).

    Deswegen das COUNT > 1 oder COUNT == 1

    eine RewriteRULE per .htaccess nach dem Prinzip
    person/person(.*)$ wp-content/themes/design/archive-profile.php?variable=$1 führt folglich nicht zum Ergebnis.

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