www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

Como en Wordpress para mostrar una lista de páginas adicionales en el campo en lugar del nombre de la página?

BuggyBuggy 2018-10-29 22:37:36

es Necesario mostrar una lista de las páginas de las ciudades. Cada página tiene un campo de la Ciudad, donde es normal el nombre de la ciudad. Pero las páginas se denominan de tipo "Entregar la chatarra tagil". Los dioses seo hicieron.
Hay una página de "la región de moscú", de la página con las ciudades.
Si tomar page list, se muestra los títulos del tipo "Dar ...".
wp_list_page también lo hace.
Usando

[pagelist_ext child_of="699" depth="2" show_image="0" show_meta_key="town_name" show_title="0" show_content="0"]
,
recibiendo el mismo 5bd760df8a608190342367.jpeg.
Esto es lo más cercana posible a la deseada, pero no hay referencias, sólo los textos con los nombres de las ciudades.

UPD:
Conocí este:
<?php 
// WP_Query arguments
$args = array(
  'post_type'              => array( 'page' ),
  'post_status'            => array( 'publish' ),
);

// The Query
$page_query = new WP_Query( $args );

// The Loop
if ( $page_query->have_posts() ) {
  while ( $page_query->have_posts() ) {
    $page_query->the_post();
?>

<div class='page-item' id="page-<?php the_ID(); ?>">
    <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
    <?php the_content(); ?>
</div>

<?php
  }
  the_posts_navigation();
} else {
 echo "<h2>Записей нет.</h2>";
}
// Restore original Post Data
wp_reset_postdata();
?>

Pero como todo esto es insertar en la página?

Total answers: 2

solidcreature 2018-10-30 11:37:22

el Código presentado a continuación se va a insertar en functions.php su tema. Es una función que agrega шорткод [ciudades] que se puede poner allí donde se necesita. El шорткода hay dos atributo parent, para especificar el ID de la página principal y key - para mostrar no sólo town_name, pero con cualquier otro campo

Variante de aplicación: [cities parent=123]

// Add Cities Shortcode
function cities_shortcode( $atts ) {

// Список возможных параметров шорткода: родительская страница и имя поля, значение которого нужно вывести
	$atts = shortcode_atts(
		array(
			'parent' => '',
			'key' => 'town_name'
		),
		$atts
	);

	// Задаем параметры WP_Query, чтобы получить список всех нужных страниц в одном объекте
	$args = array(
	  'post_type'              => array( 'page' ),
	  'post_status'            => array( 'publish' ),
	  'post_parent' => $atts[parent]	
	);

	//Объект WP_Query	
	$page_query = new WP_Query( $args );
	
	//Обертка для всех элементов, которые получатся, можно вставить свои классы
	$result_start = '<ul class="cities-list">';
	$result_end = '</ul>';
	
	//Цикл, выводим все города
  	while ( $page_query->have_posts() ):
    	$page_query->the_post();
		$post_id = get_the_ID(); //ID Страницы
		$city_name = get_post_meta( $post_id, $atts[key], true ); //Название города
		$result = $result  . '<li class="cities-item"><a href="' . get_the_permalink() . '">' . $city_name . '</a></li>'; //Название города, ссылка, + обертка из <li>
  	endwhile;		
	
	wp_reset_postdata();	
	
	return $result_start . $result . $result_end;
}

add_shortcode( 'cities', 'cities_shortcode' );

BuggyBuggy 2018-10-30 22:10:55

Gracias. Sacó, pero por alguna razón no todas las ciudades de la página:
5bd8abeb4dabb809718000.jpeg
Internamente estas páginas no difieren en nada de los demás ocultos: el campo del nombre de la ciudad está en blanco, la página principal de la misma, la plantilla de la misma - base. En el código, parece que no hay límite en el número de páginas de resultados.


solidcreature 2018-10-30 22:16:14

En esta parte de la:

$args = array(
    'post_type'              => array( 'page' ),
    'post_status'            => array( 'publish' ),
    'post_parent' => $atts[parent]	
  );


Es necesario añadir una línea con la opción post_per_page:
$args = array(
    'post_type'              => array( 'page' ),
    'post_status'            => array( 'publish' ),
    'posts_per_page' => 99,
    'post_parent' => $atts[parent]	
  );


BuggyBuggy 2018-10-30 22:28:24

Gracias! Ganado!


Alex_18 2018-10-30 11:37:00

<?php
if ( have_posts() ) : // если имеются записи в блоге.
query_posts('cat=11&posts_per_page=1');   // указываем ID рубрик, которые необходимо вывести.
while (have_posts()) : the_post();  // запускаем цикл обхода материалов блога
the_title(); // заголовок поста в места него укажи поле Город. 
endwhile;  // завершаем цикл.
endif;
/* Сбрасываем настройки цикла. Если ниже по коду будет идти еще один цикл, чтобы не было сбоя. */
wp_reset_query();                
?>

Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.