Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

θέλω να ρωτήσω αν γνωρίζει κανείς πως μπορώ από ένα portfolio(τα περισσότερα templates δίνουν σαν template ένα portfolio τουλαχιστον)όταν μπω μέσα να εμφανίζει μόνο μια από τις πολλές κατηγορίες που έχει.

 

Μέχρι στιγμής έχω δοκιμάσει να κάνω edit το template-portfolio.php στο σημείο που λέει:

$categories =  get_categories('taxonomy=project-type');

να τον αλλάξω σε 

$categories[] =  get_category('cat=7');

όπου το 7 είναι(λογικά) το id της κατηγορίας που θέλω να εμφανιστεί μόνη της, αλλά το μόνο που καταφέρνω είναι να μην έχω την κάθε κατηγορία ξεχωριστά στο breadcrumb(τύπου) αλλά και πάλι τις εμφανίζει όλες.

 

Δοκίμασα από το menu να του βάλω συγκεκριμένη κατηγορία του portfolio να μου δείξει αλλά και πάλι δεν πέτυχε.

 

Πρέπει στο .php να αλλάξω το πως φέρνει τα ποστ μέσα αλλά η αλήθεια είναι ότι δυσκολεύομαι λίγο να βρω την λύση.

 

Παραθέτω και τον κώδικα όλου του template-portfolio.php.

 

 


<?php
/*
Template Name: Portfolio
*/
?>



<?php get_header(); ?>


<!--Blog BANNER-->

<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?> 


	<div id="banner">
		<p><?php the_title(); ?></p>
		<span>
	   	<p></p>
	   </span>
	</div>


 <?php endwhile; ?>
<?php else : ?>
<?php endif; ?>





 <!-- PORTFOLIO WRAPPER-->

 <div id="portfolioWrapp" class="row">
 	<div id="portfolioNav" class="large-12 columns">
    	<ul id="portfolio-filter" class="clear-fix">
        	<li><a href="#" data-filter="*">All</a></li>
	
			<?php
			$catArgs = array(
						'taxonomy'=>'project-type'
						// post_type isn't a valid argument, no matter how you use it.
						);
			$categories =  get_categories('taxonomy=project-type'); ?>
			
			 <?php 
			  foreach ($categories as $category) : ?>

            <li><a href="#" data-filter=".<?php echo $category->slug; ?>"><?php echo $category->name ?></a></li>

             <?php endforeach; ?>
        </ul>
    </div>
    
    <div id="portfolioContainer" class="large-12 columns">
        <ul id="portfolio-list" class="clear-fix">


			  	<?php 
			  	$args = array( 'post_type' => 'portfolio', 'posts_per_page' => 100 ); 
			  	$loop = new WP_Query( $args );
			  	while ( $loop->have_posts() ) : $loop->the_post(); ?>
			      
			      <?php 
			      $terms = get_the_terms($post->id,"project-type");
			      $project_cats = NULL;
			      
			      if ( !empty($terms) ){
			        foreach ( $terms as $term ) {
			          $project_cats .= strtolower($term->name) . ' ';


			        }
			      }


			    

			      ?>

			      <li class="element <?php echo $term->slug ?>">
			            	<div class="imageSlide">
			                	<ul class="imagesContainer clear-fix sliderCont<?php the_id(); ?>">
			                    	<?php 

			                    	if(has_post_thumbnail()) { the_post_thumbnail('portfolio'); }

			                    	if (class_exists('MultiPostThumbnails')) {
			                    	    if (MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'feature-image-2', NULL,  'portfolio')) {
			                    	        MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'feature-image-2', NULL,  'portfolio'); 
			                    	    }
			                    	    if (MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'feature-image-3', NULL,  'portfolio')) {
			                    	        MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'feature-image-3', NULL,  'portfolio'); 
			                    	    }
			                    	    if (MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'feature-image-3', NULL,  'portfolio')) {
			                    	        MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'feature-image-3', NULL,  'portfolio'); 
			                    	    }
			                    	    if (MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'feature-image-5', NULL,  'portfolio')) {
			                    	        MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'feature-image-5', NULL,  'portfolio'); 
			                    	    }

			                    	    if (MultiPostThumbnails::has_post_thumbnail(get_post_type(), 'feature-image-6', NULL,  'portfolio')) {
			                    	        MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'feature-image-6', NULL,  'portfolio'); 
			                    	    }
			                    	}

			                    	 ?>
			                    </ul>
			                    <div class="slider-nav<?php the_id(); ?>  slider-nav">
			                        <button class="prevBtn" data-dir="prev">Previous</button>
			                        <button class="nextBtn" data-dir="next">Next</button>
			                    </div>
			                </div>
			                
			                <div class="large-10 columns portContent">
			                	<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><span class="titleDivide">|</span> <span class="portCategorie"><?php echo $project_cats; ?></span></h2>
			                    <p><?php echo wp_trim_words( get_the_content(), 10 ); ?></p>
			                </div> 
			                
			                <div class="large-2 columns portLinks">
			                	<a href="<?php $image_id = get_post_thumbnail_id();
                                           $image_url = wp_get_attachment_image_src($image_id,'large', true);
                                           echo $image_url[0];  ?>" rel="prettyPhoto">Loupe</a>
			                    <a href="<?php the_permalink(); ?>">Link</a>
			                </div>


			            </li>


			  	<?php endwhile; ?>




            
        </ul>
    </div>

 </div>







<?php get_footer(); ?>

 

 

Δημοσ.

το κακό με αυτό που λέει σαν απάντηση στο 2ο ποστ είναι ότι δεν έχω πουθενά στον κώδικα του template-portfolio.php κάτι που να έχει μέσα query_posts() οπότε δε ξέρω και που να βάλω το 

<?php query_posts('category_name=CATEGORYNAME&showposts=5');
while (have_posts()) : the_post();
  // do whatever you want
?>
<b><a href="<?php the_permalink() ?>" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
<?php
endwhile;
?>

Μήπως πρέπει να πειράξω άλλο .php αρχείο?

Δημοσ.

Καλησπέρα και από εμένα..

 

Για δοκίμασε επίσης το 

$catArgs = array(
	'taxonomy'=>'project-type'
	// post_type isn't a valid argument, no matter how you use it.
						);

Να προσθέσεις 'include'=7 dld

$catArgs = array(
	'taxonomy'=>'project-type',
        'include'=>7
	// post_type isn't a valid argument, no matter how you use it.
						);

Και βλέπεις. :)

Δημοσ.

Απ' ότι βλέπω στον κώδικα που δίνεις η $catArgs ορίζεται αλλά δεν χρησιμοποιείται πουθενά, μιας και στη get_categories() περνάει απευθείας το όρισμα 'taxonomy=project-type'.

 

Αν η κατηγορία που θέλεις να εμφανίσεις, δηλαδή αυτή με ID 7, ανήκει στο taxonomy project-type, τότε η λύση του ArchimidisM πρέπει να σε καλύπτει (με λίγο tweaking):

 

$catArgs = array('taxonomy' => 'project-type',  'include' => '7');
$categories =  get_categories( $catArgs );

Αν η κατηγορία 7 ΔΕΝ ανήκει στο taxonomy project-type, τότε πρέπει να περάσεις στην get_categories() το taxonomy στο οποίο ανήκει η κατηγορία αυτή. Αν δεν έχεις φτιάξει δικά σου taxonomies, τότε λογικά θα ανήκει στο 'taxonomy=category' που είναι και το default, οπότε λογικά θέλεις κάτι σαν το παρακάτω:

$categories =  get_categories('include=7');

ή εναλλακτικά...

$catArgs = array( 'include' => '7');
$categories =  get_categories( $catArgs );

ΥΓ. Άσχετο με την ερώτησή σου, αλλά παρατήρησα πως στον κώδικα που έδωσες υπάρχει τυπογραφικό λάθος: δεν τυπώνει το thumbnail του featured-image-4, τυπώνει 2 φορές το thumbnail του featured-image-3, οπότε διόρθωσέ το κι αυτό.

  • Like 1
Δημοσ. (επεξεργασμένο)

Ευχαριστώ για τις απαντήσεις, αλλά δε δούλεψε κάτι από αυτά.

 

Βασικά για να είμαι πιο σωστός, δούλεψε αλλά δεν έγινε αυτό που ζητάω.

 

Με τις τελευταίες αλλαγές που μου είπατε έγινε αυτό που περίπου είχα κάνει και εγώ.

Δλδ στις κατιγηρίες μου δείχνει μόνο το ALL και το LANGUAGES αλλά πρακτικά από κάτω πάλι τα βλέπω όλα.

 

Πάρτε και το url που κάνω τις δοκιμές για να έχετε μια καλύτερη εικόνα του τι γίνεται.

http://www.myselection.gr/support5/applestudies/portfolio/

 

 

Εντομεταξύ σκέφτηκα κάτι άλλο.

Όταν πατάμε στο languages και εξαφανίζονται οι κατηγορίες "Design" αυτό γίνεται με javascript. Μήπως πρέπει να κοιτάξω από εκεί?

αλλά πάλι σκέφτομαι ότι η javascript θα εμφανίσει ότι τις δώσει η php, οπότε η php της δώσει μόνο τα items του category languages τότε δε θα εμφάνιζε καθόλου τις άλλες σωστά?

 

 

Πολύ κούραση για κάτι τόσο απλό...φταίμε εμείς ή το wordpress που δε το κάναν λίγο πιο απλό σε αυτά τα θέματα?

Επεξ/σία από Xvipes
Δημοσ.

Ξέχασες να δώσεις link.

 

Πάντως έτσι στο γενικό δεν μπορούμε να βοηθήσουμε και πολύ, μιας και δεν ξέρουμε ούτε τι κάνει το theme σου, ούτε σε ποιο taxonomy ανήκει η κατηγορία 7 που λες.

 

Σχετικά με το ποιες (υπο)κατηγορίες θα εμφανίζονται η get_categories() σου δίνει αρκετή ευελιξία (π.χ. μέσω των hierarchical, hide_empty, include, exclude, κλπ).

Δημοσ.

Έβαλα το link(όντως το είχα ξεχάσει).

Απλά φοβάμαι ότι η javascript μου το χαλάει.

Ρίξτε μια ματιά και εσείς.Πατηστε πάνω στο LANGUAGES, έτσι θέλω να φαίνεται όταν πρωτομπαίνει κάποιος στην σελίδα.

 

http://www.myselection.gr/support5/applestudies/portfolio/

Δημοσ.

Απ' ότι είδα, χρησιμοποιείς το Hexagonal theme, το οποίο σύμφωνα με το link υποστηρίζει ήδη Filterable Portfolio.

 

Άρα είναι απλά θέμα του να διαβάσεις στην τεκμηρίωση του θέματος αυτού πως να δημιουργείς κατηγορίες στο portfolio, οι οποίες θα χρησιμοποιούνται κατόπιν ως φίλτρα αυτόματα (λογικά δεν χρειάζεται να γράψεις ούτε μια γραμμή κώδικα).

 

Στο demo του θέματος δείχνουν να λειτουργούν μια χαρά τα φίλτρα.



-- UPDATE ---

 

Μόλις διάβασα τα σχόλια στο link του Hexagonal theme και μαύρισε η ψυχή μου... πήχτρα στα bugs και άπειρα προβλήματα. Ίσως λοιπόν χρησιμοποιείς κάποια έκδοση στην οποία ΔΕΝ λειτουργούν τα Filterable Portfolios. Δοκίμασε να το αναβαθμίσεις στην τελευταία του έκδοση (αν και με αυτά που διάβασα, μάλλον πρέπει να ζητήσεις refund και να βρεις άλλο theme).

Δημοσ.

http://themeforest.net/item/hexagon-creative-responsive-one-page-portfolio/discussion/3622581

Αν δεις του έγραψα(χρήστης focus-on).

 

Well yeah, there would be a way, but it involves extensive PHP/JS knowledge.

 

Περιμένω να δούμε τι ακριβώς θέλει από php/js 

  • Like 1
Δημοσ.

Κρίμα, αν και λογικά δεν πρέπει να είναι πολύ δύσκολο (εκτός αν έχει πολύ κακογραμμένο κώδικα ο τύπος).

 

Είδα στο site σου πως στα links των φίλτρων βάζει attribute data-filter=".lang" ( =".design", κλπ). Οπότε δες στην javascript του theme πως κάνει handle αυτό το attribute.

 

Δυστυχώς πήζω κι εγώ με μια δουλειά που έχω να παραδώσω στο τέλος της βδομαδας, οπότε δεν μπορώ να βοηθήσω περισσότερο προς το παρόν.

  • Like 1
Δημοσ.

Δε πειράζει θα το βρω κάπως.

Ήδη βοήθησες πολύ.Απλά είναι κάτι που το συναντάς σε κάθε νορμάλ wordpress theme και αυτη την παραμετροποίηση δεν την έχει κανένα.

 

Θα βοηθήσει αρκετό κόσμο γιατί και μέσο googling δε βρήκα κάτι που να λειτούργησε.

 

Όταν το βρω θα ενημερώσω εδώ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...