query_post per titolo?
5 risposta
- voti
-
- 2011-07-19
hafunzionato con l'aiuto di questopost allafine.Saluti ragazzi;
$finalArgs = array ( 'posts_per_page'=>5, 'order' => 'ASC', 'post_type' => 'school' ); // Create a new instance $searchSchools = new WP_Query( $finalArgs ); $mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title LIKE '".$str."%' "); $args = array( 'post__in'=> $mypostids, 'post_type'=>'school', 'orderby'=>'title', 'order'=>'asc' ); $res = new WP_Query($args); while( $res->have_posts() ) : $res->the_post(); global $post; $EstablishmentNumber = get_post_meta($post->ID,'EstablishmentNumber', true); $schl = array('id'=>$EstablishmentNumber, 'label'=>$post->post_title , 'value'=>$EstablishmentNumber ); $matchedSchools[] = $schl; endwhile;
got this working with the help from this post in the end. Cheers guys;
$finalArgs = array ( 'posts_per_page'=>5, 'order' => 'ASC', 'post_type' => 'school' ); // Create a new instance $searchSchools = new WP_Query( $finalArgs ); $mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title LIKE '".$str."%' "); $args = array( 'post__in'=> $mypostids, 'post_type'=>'school', 'orderby'=>'title', 'order'=>'asc' ); $res = new WP_Query($args); while( $res->have_posts() ) : $res->the_post(); global $post; $EstablishmentNumber = get_post_meta($post->ID,'EstablishmentNumber', true); $schl = array('id'=>$EstablishmentNumber, 'label'=>$post->post_title , 'value'=>$EstablishmentNumber ); $matchedSchools[] = $schl; endwhile;
-
- 2011-07-14
<"functions.php"
<?php add_filter( 'posts_where', 'title_like_posts_where', 10, 2 ); function title_like_posts_where( $where, $wp_query ) { global $wpdb; if ( $post_title_like = $wp_query->get( 'post_title_like' ) ) { $where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\''; } return $where; } ?>
<"Poi:"
$args = array( 'post_title_like' => $str ); $res = new WP_Query($args);
functions.php
<?php add_filter( 'posts_where', 'title_like_posts_where', 10, 2 ); function title_like_posts_where( $where, $wp_query ) { global $wpdb; if ( $post_title_like = $wp_query->get( 'post_title_like' ) ) { $where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\''; } return $where; } ?>
Then:
$args = array( 'post_title_like' => $str ); $res = new WP_Query($args);
-
Funziona allagrandetranne cheperil secondo argomento (il riferimento "$ wp_query"),chenon sembraessereparte del callback delfiltro (vedere http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_where)e genererà unerrore.Works great except for the second argument (the referenced `$wp_query`), which doesn't seem to be part of the filter callback (see http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_where) and will generate an error.
- 0
- 2013-10-14
- maryisdead
-
in realtà,il codice è corretto così com'è,almenoin WP 4.1.1.Èil codice che ometteil secondo argomento,quindi se dichiari 2 argomentiin `add_filter` comenell'esempio,funzionabene.Un altro vantaggio di questa soluzione è chefunzionaperi tipi dipostpersonalizzati.actually, the code is correct as is, at least in WP 4.1.1. It's the codex that's omitting the second argument, so if you declare 2 arguments in `add_filter` as in the example, it works fine. Another advantage of this solution is that it works for custom post types.
- 1
- 2015-03-22
- yitwail
-
Questa dovrebbeessere una risposta accettatapoichémostra comefarlo utilizzando lefunzioniintegrate di WordPresse non utilizzando query SQLpersonalizzate.This should be accepted answer since this shows how to do it using WordPress built-in functions and not using custom SQL query.
- 1
- 2015-04-02
- Sudar
-
sembra cheilprimo "%" siamancato qui.Subito dopo "MI PIACE \".L'ho aggiuntoe hainiziato afunzionare (4.2.4)it seems, that first `%` is missed here. Right after `LIKE \'`. I added it and it started working (4.2.4)
- 1
- 2015-08-16
- vladkras
-
Sì,mancailprimo "%",aggiunto anche luie funziona :) (forse dovrestimodificare la risposta?)Yes, missing the first `%` , added too, and works :) ( maybe should edit the answer ? )
- 0
- 2016-09-21
- Toni Michel Caubet
-
Funzionabene perme,solo che ho rimosso `&` su `funzionetitle_like_posts_where ($ where,& $ wp_query) {`,prima di `$ wp_query`.Grazie a @Brady.Work fine for me, only I removed `&` on `function title_like_posts_where( $where, &$wp_query ) {` , before `$wp_query`. Thanks to @Brady.
- 0
- 2017-01-25
- Jose Carlos Ramos Carmenates
-
- 2011-11-22
Ottieniiltitolo da un altro ciclo
$title = get_the_title();
e utilizza la variabile $title se lo desideri.
<?php global $post, $current_post_id, $title; function filter_where($where = ''){ global $title; $where .= "AND post_title = '$title'"; return $where; } add_filter('posts_where', 'filter_where'); $query = new WP_Query(array('post_type' => 'sessions') ); if ( have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); /* Loop here */ endwhile; endif; wp_reset_query(); ?>
Get the title from another loop
$title = get_the_title();
and use the $title variable if you wish.
<?php global $post, $current_post_id, $title; function filter_where($where = ''){ global $title; $where .= "AND post_title = '$title'"; return $where; } add_filter('posts_where', 'filter_where'); $query = new WP_Query(array('post_type' => 'sessions') ); if ( have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); /* Loop here */ endwhile; endif; wp_reset_query(); ?>
-
funziona su customposttypee wordpress 3.2.1it works on custom post type and wordpress 3.2.1
- 0
- 2011-11-22
- Zakir Sajib
-
- 2011-07-14
Sì,èpossibile ....
global $wpdb; $mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title like '%$str%' "); $args = array('post__in'=$mypostids); $res = WP_Query($arg);
Yes it is possible....
global $wpdb; $mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title like '%$str%' "); $args = array('post__in'=$mypostids); $res = WP_Query($arg);
-
ciao Rajeev - l'hoprovatoma siblocca dopoget_col.Ho aggiornato quanto sopra ^^^cheers Rajeev - tried this but it gets stuck after the get_col. I've updated the above^^^
- 0
- 2011-07-14
- v3nt
-
- 2018-11-16
Queste rispostemi sembranotentare di hackerare wordpress.
Fare riferimento alla stessa domanda sullo stack overflow:
https://stackoverflow.com/questions/25761593/wp-query-with-post-title-like-something-and-category
Funziona se desiderieseguire una query di ricercapertitolo ordinatapertitolo:
$the_query = new WP_Query( array( 'post_type' => 'watches', 'posts_per_page' => 5, 'orderby' => 'title', 's' => 'my title' ) );
Questa query diesempio èper untipo dipost denominato orologie la "s" (termine di ricerca) è dovepuoi cercarei titoli deituoipostnella query
These replies seem to me as trying to hack wordpress.
Refer to the same question on stack overflow:
https://stackoverflow.com/questions/25761593/wp-query-with-post-title-like-something-and-category
This works if you want to do a search query by title ordered by title:
$the_query = new WP_Query( array( 'post_type' => 'watches', 'posts_per_page' => 5, 'orderby' => 'title', 's' => 'my title' ) );
This example query is for a post type named watches and the 's' (search term) is where you can look for your post titles on the query
-
Questo cercherà ancheil contenutoThis will search the content as well
- 1
- 2019-07-02
- Mark Kaplun
èpossibile creare un ciclo dipost utilizzando WP_Query o query_posts utilizzandoiltitolo?
ovvero