Tag Info

Hot answers tagged

6

The documentation for register_post_type mentions a taxonomies parameter, giving it a value of array( 'category' ) will do what you want. There is also the register_taxonomy_for_object_type function


5

Here's a simplified combination of both @PieterGoosen and @ialocin fine answers by using the loop_start hook: add_action( 'loop_start', function( $q ) { if( $q->is_main_query() && $q->is_category( 'car' ) ) usort( $q->posts, function( $a, $b ){ return -1 * has_tag( 'bmw', $a ) + 1 * has_tag( 'bmw', $b ); ...


4

You can use the category__in argument: // use get_the_category( $post_id ) if you are outside the loop $categories = get_the_category(); if( $categories ){ $related_posts = get_posts( array( 'category__in' => $categories ) ); }


4

The error says it all, you are sending the request to a invalid host. Change this: var ajaxurl = 'http://my-site.co.uk <?php bloginfo("wpurl");?>/wp-admin/admin-ajax.php'; To: var ajaxurl = "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>"; Note: from your code and description I'm assuming you are generating the jQuery code within ...


3

// Getting Parent ID $parent = get_term_by( 'name', 'Session 2015', 'category'); // Checking if SubCategory Exist. $term = term_exists('Photos', 'category', $parent->term_id); //if Exist Do the query if ($term !== 0 && $term !== null) { $query = new WP_Query( 'cat='.$term['term_id'] ); } References: term_exists get_term_by


3

You can do this with pre_get_posts. This hook is called after the query variable object is created, but before the actual query is run. For excluding category id 32 and 39 from homepage, you can setup a function like this. function wpse_exclude_categories( $query ) { if ( is_admin() ) return; if ( $query->is_home() && ...


3

This same exact question was asked earlier this week or over the weekend, and it had me thinking. Here is the idea that I came up with. If you look at the source code of the WP_Query class, you will see that sticky posts is only added to the first page of the home page. There is also no filter supplied to change this behavior in order to set the required ...


3

You have a couple of flaws here and also a few places where you can optimize the code Instead of using get_the_category(), use wp_get_post_terms(). It is a bit faster, and you have the option to just get the term ID's from the post categories. This is one place where you can optimize your code ID is not a valid property of get_the_category(), it should be ...


3

A lot of time since this quesiton and answer were posted. Since then things has changed a lot. The typical recommendation about disallow crawlers to access wp-content/themes, wp-content/plugins, wp-content/cache, wp-includes, and any other directory that contains CSS or js files needed in the site, are no longer valid. For example, lets talk about Google. ...


3

You can make use of the hide_empty argument of get_terms(). It's default value is set to true. Do it somewhat like this: $args = array( 'hide_empty' => false ); $terms = get_terms( 'wpsc_product_category', $args );


3

You cannot do this type of sorting inside the loop. You can however be done by writing your own function Here is my solution: PS! Needs PHP 5.4+ STEP 1 Create a function called wpse161553_loop_sort($tag=''). This will work with a single tag with the main query. STEP 2 You need to get the post objects from the main query. They are already available and ...


2

WordPress' terms and taxonomies are spread over three tables in the database. Those tables are wp_terms, wp_term_relationships and wp_term_taxonomy - see the codex article on Database Description for more details. The parent relationship is part of the wp_term_taxonomy table, so you should inspect the differences between your environments in this table. ...


2

Just a quick outlined draft of an idea, so beware I haven't thought and tested this through entirely. I'm certain though that you can perform sorting actions this way. Ok, what I was thinking is, why not hooking into the_posts and use usort to do the sorting. All the rest, especially the conditionals are just to make sure that this isn't performed on every ...


2

You should check for category posts to modify content. Specify category ID (integer), name or slug (string), or an array of these in in_category check. function my_image_tag( $html, $id , $alt, $title ) { if ( in_category( '1' ) ) { $html = "<div class='my-class'>" . $html . "</div>"; } return $html; } add_filter( ...


2

NOTICE Option one section one is done with the other answer in mind. Section one is interchangeable and can be used with the other answer or my approach in section 2 of option one. You can either use my approach here or the approach from @JustinBell. The important section here is section 1 which sorts your loop according to your predefined order according ...


2

Use get_the_category to get the categories belonging to the post. You can then use $category->count to return the amount of posts for specific category attached to the post Example: If a post has just one category attached to it, you can do the following $category = get_the_category(); echo $category[0]->count; In your check to see if there is ...


2

I am the lead developer of the Blubrry PowerPress plugin. As of this writing, there are 5 ways to approach this, each dependent on your goals. If each podcast can have the same branding (aka web site theme and domain name), then the following are all excellent options available in PowerPress... Category Podcasting - extend WordPress categories to ...


2

Assuming your query does indeed have multiple post types, you'll want to pluck them out before continuing (I assume you're using $wp_query as your WP_Query object): <?php $all_post_types = array_map(function($item) { return $item->post_type; }, $wp_query->posts); // Now we get a unique list of post types: $unique_post_types = ...


2

Your problem lies in this piece of code $categoriaActual = get_the_category($post->ID); $idCategoriaActual = $categoriaActual[0]->term_id; The first line gets the categories that belongs to the post in an array, that is fine (Just one note, when inside the loop, you don't need to pass the post ID, that is done by default). Your ...


2

Take a look the section called Preserving Existing Query Parameters on http://codex.wordpress.org/Function_Reference/query_posts Try merging in the existing query parameters; they might be getting overridden. Instead of: <?php query_posts('cat=4'); ?> try global $query_string; query_posts( $query_string . '&cat=4' );


2

category__in will never work as you aren't making use of the build in taxonomy category. You are actually making use of a custom taxonomy called tagbbt. Take a look at this post, I have explained what the differences are For custom taxonomies, you need to make use of a tax_query Here is an example $args = array( 'post_type' => 'bbt', ...


2

Your $args array is incorrect. You used cat=-8 which is not correct here. You will have to specify/exclude category this way 'cat' => -8. So your $args array will be $args = array( 'posts_per_page' => 3, 'orderby' => DESC, 'cat' => -8 );


2

Thanks guys, I found a solution: It's as easy as adding the post_type_category element to the arguments object within register_post_type(): $args = array( 'label' => 'sausages', 'description' => 'Sausages', 'labels' => $labels, 'post_type_category' => 'food', 'supports' => ...


2

According to the plugins documentation (http://zahlan.net/blog/2012/06/categories-images/), this seems pretty simple: <ul> <?php $categories = get_categories( $args ); foreach ( $categories as $category ) { $img_src = z_taxonomy_image_url($category->term_id); if ( $img_src ) { echo '<li><img src="' . $img_src . '" ...


2

Just remove the trailing comma with some good ole php before echoing it out. $thelist = rtrim($thelist, ',');


2

As I have stated in my comments to your question Crappy written plugins always leads to some disaster at some time. In my opinion, delete that plugin and write your own code or find a properly written plugin. There is no use changing the damaged tire while the whole car is a complete write-off :-) Just to start off, never use query_posts Note: This ...


2

The fields returned by get_term_by() are: term_id name slug term_group term_taxonomy_id taxonomy description parent count So instead of $thiscat->ID, you should use $thiscat->term_id Ref: http://codex.wordpress.org/Function_Reference/get_term_by


2

SIDENOTE: This function can be used even if have posts belongs to one taxonomy only. You don't need to have a post that belongs to two or more taxonomies within the same hierarchy. I have made this function very flexible It is always a problem for me to display a category list or term list for a post if the following conditions occur Having a post having ...


2

You should always do the two following checks Check that your current query is the main query Check that the query is a front end query pre_get_posts alters all instances of WP_query, front end and back end, so you will need to make double sure you are doing the above checks Also is_category() should be an object of $query Your conditional should look ...


2

Notice that you don't need echo to display the result, since echo=1 is the default settings of wp_get_archives(). As @PieterGoosen explained, the wp_get_archives() function doesn't support the exclude parameter. But we can use _exclude_terms, the custom parameter of the wp_get_archives() function, to exclude posts with some given terms. Here's an ...



Only top voted, non community-wiki answers of a minimum length are eligible