Xvipes Δημοσ. 10 Σεπτεμβρίου 2013 Δημοσ. 10 Σεπτεμβρίου 2013 Καλησπέρα, θέλω να ρωτήσω αν γνωρίζει κανείς πως μπορώ από ένα 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(); ?>
ydrargyros Δημοσ. 10 Σεπτεμβρίου 2013 Δημοσ. 10 Σεπτεμβρίου 2013 Πρόχειρα έψαξα αλλά αν δεν σε βοηθήσει πες μου! http://wordpress.org/support/topic/how-do-i-display-posts-from-a-specific-category-on-a-page-1
Xvipes Δημοσ. 10 Σεπτεμβρίου 2013 Μέλος Δημοσ. 10 Σεπτεμβρίου 2013 το κακό με αυτό που λέει σαν απάντηση στο 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 αρχείο?
ArchimidisM Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Καλησπέρα και από εμένα.. Για δοκίμασε επίσης το $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. ); Και βλέπεις.
migf1 Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Απ' ότι βλέπω στον κώδικα που δίνεις η $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, οπότε διόρθωσέ το κι αυτό. 1
Xvipes Δημοσ. 11 Σεπτεμβρίου 2013 Μέλος Δημοσ. 11 Σεπτεμβρίου 2013 (επεξεργασμένο) Ευχαριστώ για τις απαντήσεις, αλλά δε δούλεψε κάτι από αυτά. Βασικά για να είμαι πιο σωστός, δούλεψε αλλά δεν έγινε αυτό που ζητάω. Με τις τελευταίες αλλαγές που μου είπατε έγινε αυτό που περίπου είχα κάνει και εγώ. Δλδ στις κατιγηρίες μου δείχνει μόνο το ALL και το LANGUAGES αλλά πρακτικά από κάτω πάλι τα βλέπω όλα. Πάρτε και το url που κάνω τις δοκιμές για να έχετε μια καλύτερη εικόνα του τι γίνεται. http://www.myselection.gr/support5/applestudies/portfolio/ Εντομεταξύ σκέφτηκα κάτι άλλο. Όταν πατάμε στο languages και εξαφανίζονται οι κατηγορίες "Design" αυτό γίνεται με javascript. Μήπως πρέπει να κοιτάξω από εκεί? αλλά πάλι σκέφτομαι ότι η javascript θα εμφανίσει ότι τις δώσει η php, οπότε η php της δώσει μόνο τα items του category languages τότε δε θα εμφάνιζε καθόλου τις άλλες σωστά? Πολύ κούραση για κάτι τόσο απλό...φταίμε εμείς ή το wordpress που δε το κάναν λίγο πιο απλό σε αυτά τα θέματα? Επεξ/σία 11 Σεπτεμβρίου 2013 από Xvipes
migf1 Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Ξέχασες να δώσεις link. Πάντως έτσι στο γενικό δεν μπορούμε να βοηθήσουμε και πολύ, μιας και δεν ξέρουμε ούτε τι κάνει το theme σου, ούτε σε ποιο taxonomy ανήκει η κατηγορία 7 που λες. Σχετικά με το ποιες (υπο)κατηγορίες θα εμφανίζονται η get_categories() σου δίνει αρκετή ευελιξία (π.χ. μέσω των hierarchical, hide_empty, include, exclude, κλπ).
Xvipes Δημοσ. 11 Σεπτεμβρίου 2013 Μέλος Δημοσ. 11 Σεπτεμβρίου 2013 Έβαλα το link(όντως το είχα ξεχάσει). Απλά φοβάμαι ότι η javascript μου το χαλάει. Ρίξτε μια ματιά και εσείς.Πατηστε πάνω στο LANGUAGES, έτσι θέλω να φαίνεται όταν πρωτομπαίνει κάποιος στην σελίδα. http://www.myselection.gr/support5/applestudies/portfolio/
migf1 Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Απ' ότι είδα, χρησιμοποιείς το Hexagonal theme, το οποίο σύμφωνα με το link υποστηρίζει ήδη Filterable Portfolio. Άρα είναι απλά θέμα του να διαβάσεις στην τεκμηρίωση του θέματος αυτού πως να δημιουργείς κατηγορίες στο portfolio, οι οποίες θα χρησιμοποιούνται κατόπιν ως φίλτρα αυτόματα (λογικά δεν χρειάζεται να γράψεις ούτε μια γραμμή κώδικα). Στο demo του θέματος δείχνουν να λειτουργούν μια χαρά τα φίλτρα. -- UPDATE --- Μόλις διάβασα τα σχόλια στο link του Hexagonal theme και μαύρισε η ψυχή μου... πήχτρα στα bugs και άπειρα προβλήματα. Ίσως λοιπόν χρησιμοποιείς κάποια έκδοση στην οποία ΔΕΝ λειτουργούν τα Filterable Portfolios. Δοκίμασε να το αναβαθμίσεις στην τελευταία του έκδοση (αν και με αυτά που διάβασα, μάλλον πρέπει να ζητήσεις refund και να βρεις άλλο theme).
Xvipes Δημοσ. 11 Σεπτεμβρίου 2013 Μέλος Δημοσ. 11 Σεπτεμβρίου 2013 http://themeforest.net/item/hexagon-creative-responsive-one-page-portfolio/discussion/3622581 Αν δεις του έγραψα(χρήστης focus-on). RubenBristian AUTHOR 51 minutes ago Flag Well yeah, there would be a way, but it involves extensive PHP/JS knowledge. Περιμένω να δούμε τι ακριβώς θέλει από php/js 1
migf1 Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Ωραίος, αν και αυτό το theme δείχνει διαφορετικό.
Xvipes Δημοσ. 11 Σεπτεμβρίου 2013 Μέλος Δημοσ. 11 Σεπτεμβρίου 2013 Μας γείωσε ο "προγραμματιστής" τους. RubenBristian AUTHOR16 minutes ago I’m sorry, but i don’t provide support for theme customizations and i’m not available for freelance work at the moment.
migf1 Δημοσ. 11 Σεπτεμβρίου 2013 Δημοσ. 11 Σεπτεμβρίου 2013 Κρίμα, αν και λογικά δεν πρέπει να είναι πολύ δύσκολο (εκτός αν έχει πολύ κακογραμμένο κώδικα ο τύπος). Είδα στο site σου πως στα links των φίλτρων βάζει attribute data-filter=".lang" ( =".design", κλπ). Οπότε δες στην javascript του theme πως κάνει handle αυτό το attribute. Δυστυχώς πήζω κι εγώ με μια δουλειά που έχω να παραδώσω στο τέλος της βδομαδας, οπότε δεν μπορώ να βοηθήσω περισσότερο προς το παρόν. 1
Xvipes Δημοσ. 11 Σεπτεμβρίου 2013 Μέλος Δημοσ. 11 Σεπτεμβρίου 2013 Δε πειράζει θα το βρω κάπως. Ήδη βοήθησες πολύ.Απλά είναι κάτι που το συναντάς σε κάθε νορμάλ wordpress theme και αυτη την παραμετροποίηση δεν την έχει κανένα. Θα βοηθήσει αρκετό κόσμο γιατί και μέσο googling δε βρήκα κάτι που να λειτούργησε. Όταν το βρω θα ενημερώσω εδώ.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα