Filter ineinem Script - leider verstehe ich ihn nicht

  • Hallo,

    ich benutze ein Script, welches einen Filter für ein Portfolio nutzt. Das klappt alles super. Ich möchte jetzt aber gern ein zweites Portfolio anlegen und vorab filtern. Aber ich weiß nicht wo ich den Suchbegriff eintragen könnte. Steigt da jemand durch?

    PHP
    <div id="projects" class="clearfix">							<?php $page_skills = get_post_meta($post->ID, "_ttrust_page_skills_value", true); ?>		<?php if ($page_skills) : // if there are a limited number of skills set ?>		<?php $skill_slugs = ""; $skills = explode(",", $page_skills); ?>
    		<?php if (sizeof($skills) > 1) : // if there is more than one skill, show the filter nav?>				<ul id="filterNav" class="clearfix">				<li class="allBtn"><a href="#" data-filter="*" class="selected"><?php _e('Team', 'themetrust'); ?></a></li>
    				<?php				$j=1;					  				foreach ($skills as $skill) {									$skill = get_term_by( 'slug', trim(htmlentities($skill)), 'skill');					if($skill) {						$skill_slug = $skill->slug;				
    						$skill_slugs .= $skill_slug . ",";		  				$a = '<li><a href="#" data-filter=".'.$skill_slug.'">';						$a .= $skill->name;											$a .= '</a></li>';						echo $a;						echo "\n";						$j++;					}		  				}?>			</ul>			<?php $skill_slugs = substr($skill_slugs, 0, strlen($skill_slugs)-1); ?>		<?php else: ?>			<?php $skill = $skills[0]; ?>			<?php $s = get_term_by( 'slug', trim(htmlentities($skill)), 'skill'); ?>			<?php if($s) { $skill_slugs = $s->slug; } ?>		<?php endif; 	
    		query_posts( 'skill='.$skill_slugs.'&post_type=project&posts_per_page=200' );
    	else : // if not, use all the skills ?>
    		<ul id="filterNav" class="clearfix">			<li class="allBtn"><a href="#" data-filter="*" class="selected"><?php _e('Team', 'themetrust'); ?></a></li>			<?php $j=1;			$skills = get_terms('skill');			foreach ($skills as $skill) {				$a = '<li><a href="#" data-filter=".'.$skill->slug.'">';		    	$a .= $skill->name;									$a .= '</a></li>';				echo $a;				echo "\n";				$j++;			}?>		</ul>		<?php query_posts( 'post_type=project&posts_per_page=200' );
    	endif; ?>		<div class="thumbs masonry">				<?php  while (have_posts()) : the_post(); ?>				<?php		global $p;						$p = "";		$skills = get_the_terms( $post->ID, 'skill');		if ($skills) {		   foreach ($skills as $skill) {						      $p .= $skill->slug . " ";								   }		}		?>  			<?php get_template_part( 'part-project-thumb-t'); ?>		
    	<?php endwhile; ?>	</div></div>
    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo

    Also ich habe jetzt nur mal schnell den obigen Code überflogen -> da fehlt für die eigentliche Filterfunktion aber noch ein Script.

    Wenn du beim Laden gleich eine gefilterte Auswahl anzeigen willst (aber dennoch im Hintergrund das gesamte Protfolio laden willst) musst du das im Script selber machen!

    Wenn du aber sowieso nur einen Teil des Portfolios anzeigen willst (also ohne, dass das gesamte Portfolio im Hintergrund geladen werden muss) dann würde ich ein eigenes Template mit angepasstem Loop erstellen (Stichwort WP_Query).

    LG, pixselig

  • Hallo,

    danke für die Antwort. Ja, das ist mein Ziel - also ein eigenes Template mit angepasstem Loop. Aber das bekomme ich nicht hin.

    Ein eigenes Template habe ich schon erstellt. Aber leider wird darin nicht angezeigt was ich will. Ich brauche ja die ganze Filter-Auswahl nicht. Ich muss das Script ja eigentlich "nur" insoweit umstellen, dass es nach einem festgelegten Begriff filtert - und keine Begriffe zur Auswahl anbietet. Das kriege ich aber leider nicht hin. Ich verstehe nicht, wo in diesem Script die "Filtervariable" ist, die ich bspw. durch einen festen Begriff ersetzen könnte.

    Vielleicht reden wir auch aneinander vorbei. Denn um ehrlich zu sein, kapiere ich das oben dargestellt Script so gut wie gar nicht. Ich habe Testweise an allen Ecken und Enden Änderungen vorgenommen, aber leider führte das nicht zum Ziel.

    Ich würde gern die Möglichkeit zu filtern entfernen und stattdessen eine vorab gefilterte Auswahl darstellen.

  • Hallo boriginal

    Dann benötigst du aber auch kein Script, das ganze geht viel einfacher!
    Du kannst rein auf Basis von WP_Query schon nach vielen verschiedenen Attributen filtern. Um dir aber eine kongrete Hilfe zu geben wäre erstens ein Link sehr hilfreich. Und zweitens wäre noch wichtig zu wissen, woher die von dir genannten "Begriffe" stammen (evtl. aus einem Custom-Field oder einer Custom-Taxonomy?).

    LG, pixselig

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!