Cómo agregar dinámicamente el número de publicaciones en una consulta en wordpress

1 minuto de lectura

avatar de usuario
Adrián

Tengo la siguiente consulta en mi control deslizante

<?php query_posts( 'category_name=Uncategorized&posts_per_page=3' );

y en lugar de 3, necesito agregar dinámicamente posts_per_page. Para activar una opción para mi tema functions.php que suelo hacer

<?php $settings = get_option('mytheme_options'); echo $settings['postspage'];?>

Yo he tratado

<?php 
 query_posts('category_name=Uncategorized&posts_per_page=$settings["postspage"]'); 
?>

y no hace nada ni hace eco de ningún error

avatar de usuario
ggdx

$postsPage = $settings["postspage"];
query_posts('category_name=Uncategorized&posts_per_page=".$postsPage); 

  • En vez de $postspage en los query_posts es $postsPage. De todos modos gracias, lo marcaré como aceptado lo antes posible.

    – Adrián

    9 de noviembre de 2013 a las 17:10

  • ¡Lo siento por el error tipográfico! He modificado la respuesta.

    – ggdx

    9 de noviembre de 2013 a las 17:12


La razón es que está usando comillas simples. Si usa comillas simples, PHP no analizará la cadena y, como tal, no reemplazará ninguna variable que encuentre con sus valores, se toma como una cadena literal.

Puede usar comillas dobles y cambiar las comillas dobles en los corchetes de la matriz a comillas simples, o simplemente puede usar la concatenación de cadenas, que es la mejor opción:

 query_posts('category_name=Uncategorized&posts_per_page=".$settings["postspage']); 

Use comillas dobles donde necesite el análisis de cadenas y simples donde no lo necesite. No necesita analizar dentro de los corchetes, así que solo use comillas simples allí también.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad