Relacionados con el uso post post título

¿Es posible buscar post relacionados basado en el post título más basado en etiquetas y categoría? Como publicar 1 Título: WordPress consejos post título 2: WordPress trucos en este ejemplo el post relacionados debe generarse en palabra clave de título en lugar de tirarlo de etiquetas usadas o categoría está publicada en WordPress. Aquí es lo que estoy usando para ahora en functions.php
add_image_size( 'related', 100, 100, true );
add_action( 'genesis_after_post_content', 'child_related_posts' );
add_action( 'genesis_after_entry_content', 'child_related_posts' );

function child_related_posts() {

if ( is_single ( ) ) {

    global $post;

    $count = 0;
    $postIDs = array( $post->ID );
    $related = '';
    $tags = wp_get_post_tags( $post->ID );
    $cats = wp_get_post_categories( $post->ID );

    if ( $tags ) {

        foreach ( $tags as $tag ) {

            $tagID[] = $tag->term_id;

        }

        $args = array(
            'tag__in'               => $tagID,
            'post__not_in'          => $postIDs,
            'showposts'             => 5,
            'ignore_sticky_posts'   => 1,
            'tax_query'             => array(
                array(
                                    'taxonomy'  => 'post_format',
                                    'field'     => 'slug',
                                    'terms'     => array( 
                                        'post-format-link', 
                                        'post-format-status', 
                                        'post-format-aside', 
                                        'post-format-quote'
                                        ),
                                    'operator'  => 'NOT IN'
                )
            )
        );

        $tag_query = new WP_Query( $args );

        if ( $tag_query->have_posts() ) {

            while ( $tag_query->have_posts() ) {

                $tag_query->the_post();

                $img = genesis_get_image() ? genesis_get_image( array( 'size' => 'related' ) ) : '<img src="' . get_bloginfo( 'stylesheet_directory' ) . 

'/images/related.png" alt="' . get_the_title() .

'" />'; $related .= '<li><a rel="nofollow" href="' . get_permalink() .

'" rel="bookmark" title="Permanent Link to' . get_the_title() .

'">' . $img .

get_the_title() . '</a></li>'; $postIDs[] = $post->ID; $count++; } } } if ( $count <= 4 ) { $catIDs = array( ); foreach ( $cats as $cat ) { if ( 3 == $cat ) continue; $catIDs[] = $cat; } $showposts = 5 - $count; $args = array( 'category__in' => $catIDs, 'post__not_in' => $postIDs, 'showposts' => $showposts, 'ignore_sticky_posts' => 1, 'orderby' => 'rand', 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-link', 'post-format-status', 'post-format-aside', 'post-format-quote' ), 'operator' => 'NOT IN' ) ) ); $cat_query = new WP_Query( $args ); if ( $cat_query->have_posts() ) { while ( $cat_query->have_posts() ) { $cat_query->the_post(); $img = genesis_get_image() ? genesis_get_image( array( 'size' => 'related' ) ) : '<img src="' .

get_bloginfo( 'stylesheet_directory' ) . '/images/related.png" alt="' .

get_the_title() . '" />'; $related .= '<li><a rel="nofollow" href="' .

get_permalink() . '" rel="bookmark" title="Permanent Link to' .

get_the_title() . '">' .

$img . get_the_title() .

'</a></li>'; } } } if ( $related ) { printf( '<div class="related-posts"><h3 class="related-title">Related Posts</h3><ul class="related-list">%s</ul></div>', $related ); } wp_reset_query(); } }
Desde que estoy usando tema Génesis tengo sitio límite para editar archivos que generalmente se limita a editar functions.php y style.css en tema infantil. Intentó así como algunos otros códigos pero esto es más cercano que pudiera llegar a cosas sin plugin.

El problema con este código, tire está relacionada con correos basados en etiquetas bastante entonces el título del post..


Solución

Un simple
WP_Query
con un
s
argumento buscará el título del post y el contenido del post:
$args = array(
  'post_type' => 'post',
  's' => 'keyword'
);
$query = new WP_Query($args);
var_dump($query->request);
Pero usted podría limitar más con uno de varios filtros:
function restrict_search($search,$s) {
  remove_filter('posts_search','restrict_search');
  global $wpdb;
  return $wpdb->prepare(" AND {$wpdb->posts}.post_title LIKE '%%%s%%' ",$s->query['s']);
}
add_filter('posts_search','restrict_search',1,2);
$args = array(
  'post_type' => 'post',
  's' => 'keyword'
);
$query = new WP_Query($args);
var_dump($query->request);
function restrict_search($search,$s) {
  remove_filter('posts_search','restrict_search');
  global $wpdb;
  return $wpdb->prepare(" AND {$wpdb->posts}.post_title LIKE '%%%s%%' ",$s->query['s']);
}
add_filter('posts_search','restrict_search',1,2);
$args = array(
  'post_type' => 'post',
  's' => 'keyword'
);
$query = new WP_Query($args);
var_dump($query->request);
.




Problemas relacionados

Múltiples siguiente \/ anterior

Archivo por año

Campos personalizados avanzados: Post objeto no devuelve datos

¿Cómo consultar los mensajes que no estén relacionados con cualquier término de una taxonomía?

Quitar post título

Mostrando el título el próximo post, incluso si es un post inédito

Evitar Title Edit en post.php

Facebook no muestra el thumbail relacionado para algunos posts

Quite el nombre del sitio de post título

No permitir el mismo Post título

¿Mismo post aparece en Posts relacionados?

Tomar extracto del contenido del post y enviarlo como título para crear nuevo post

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact