Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  0 621
Hei Folkens.

Da har det seg sånn at man plutselig skulle lage en søkefunksjon som søker etter posts, sider og meta data for posts.

API som lager posts lagrer veldig mye informasjon i meta data på postene. Kanskje rundt 30-40 meta_keys med masse data.

Nå prøver jeg på dette:

Kode

$search_query = get_search_query();

$args = array(
    // 's' 				=> $search_query,
	'posts_per_page' 	=> -1,
	'meta_query' 		=> array(
		array(
			'key'		=> '****',
			'value'		=> $search_query,
			'compare'	=> 'LIKE',
		)
	)
);

$my_query = new WP_Query( $args );

Dette fungerer ikke.
Jeg kan hente ut vanlig wp søk som søker etter posts og sider ut ifra teksten som ligger der, men jeg trenger å ha muligheten til å søke i ALLE meta_keys ut ifra meta_value som da kommer i søkebaren.

Jeg skal vise fram søket på seksjonen under søkebaren som dette:

Kode

<?php  
        
            if(have_posts()) :?>
            <?php 
                while(have_posts()) :
                    the_post();
        ?>

        <a href="<?php the_permalink(); ?>" class="search-result">
            <p><?php the_title(); ?></p>
        </a>
        <?php endwhile; endif; ?>
Bare noe random enkelt satt opp.

Noen som har tips til hvordan jeg kan ordne sånn at denne søkefunksjonen fungerer som vanlig, men at den tar med meta_value i tillegg i posts? Så og si 99% av all data i posts ligger i meta data, så da hadde det vært greit å fått til


EDIT:

Akkurat nå klarer jeg å hente ut resultater virker det som.
Men jeg får ikke fram lenker til postene det handler om.

Sånn her ser koden ut akkurat nå.

Kode

$search_query = get_search_query();

$args = array(
    // 's' 				=> $search_query,
    'post_status'       => 'publish',
    'meta_query'        => array(
        array(
            'key'       => '****',
            'value'     => $search_query,
            'compare'   => 'LIKE'
        )
    )
);

$my_query = new WP_Query( $args );



global $wp_query;

Deretter viser jeg koden her:

Kode

<section class="search-info">
    <div class="sub-search">
        <div class="wrapper">
            <h1>Vi fant <?php echo $my_query->found_posts; ?> treff på: <?php echo $search_query; ?></h1>
            <?php get_search_form( array( "echo" => true, "aria_label" => "search-page", "is-search-page" => true, "search-query" => $search_query ) ); ?>
        </div>
    </div>
</section>

<section class="search-content">
    <main class="site-main wrapper">
        <?php  
        
            if(have_posts()) :?>
            <?php 
                while(have_posts()) :
                    the_post();
        ?>

        <a href="<?php the_permalink(); ?>" class="search-result">
            <p><?php the_title(); ?></p>
        </a>
        <?php endwhile; endif; ?>
    </main>
</section>
Problemet er at jeg ikke får opp noen lenker eller tekst.
Jeg får bare opp beskjed om at jeg får f.eks 29 resultater på mitt søk, men ikke noe mer.

Er det noe ekstra jeg må gjøre her nå for å faktisk få lenke til postene jeg ønsker?
Jeg trenger sikkert post ID for å kunne hente ut meta data og vise et søkeresultat.
Sist endret av Gameomanic; 4. september 2022 kl. 12:29. Grunn: Automatisk sammenslåing med etterfølgende innlegg.