php 通过slug或标题获取页面内容wordpress

66bbxpm5  于 2023-06-20  发布在  PHP
关注(0)|答案(2)|浏览(132)

我正在创建一个博客,我在WordPress中的页面有困难,在我的情况下,我想插入内容(原始内容)从两个页面随机模态系统,而人们浏览博客。

**示例:**当前页面> Modal Box> Page 01内容或Page 02内容

我知道这是可能的页面ID。但我想通过按slugs或标题获取页面内容来使其更具动态性。
这是密码

<?php

  $term = get_taxonomy( $slug );

  $args = array( 
    'post_type' => 'page', 
    'posts_per_page' => 1, 
    'orderby' => 'RAND',
    'tax_query' => array( array(
        'taxonomy' => $term,
        'field' => 'slug',
        'terms' => array('page-01', 'page-02'),
    ) )
  );

  $rand = new WP_Query($args);

  if ($rand->have_posts()) {
    while ($rand->have_posts()) {
      $rand->the_post();
      the_content();
    }
  }
?>

我知道从查询中删除分类法会获得发布页面的内容,但是在我的例子中,我需要从两个特定的页面中获得内容

pjngdqdw

pjngdqdw1#

您可以使用post_name__in来过滤多个slug,例如:

$args = array( 
    'post_name__in' => array('page-slug-1', 'page-slug-2'),
    'post_type' => 'page', 
    'posts_per_page' => 1, 
    'orderby' => 'RAND',
  );

您可以在WP_Query documentation page上找到更多详细信息。

s4n0splo

s4n0splo2#

您可以简单地获取页面内容。
使用get_posts()和作为slug的参数名称:

$page = get_posts([ 'name' => 'page-slug','post_type' => 'page' ]);

if ( $page )
{
    echo $page[0]->post_content;
}

get_posts()中的post_type默认为'post'。如果你想得到页面,就像这样使用。

$page = get_posts([
    'name'      => 'your-slug',
    'post_type' => 'page'
]);
var_dump($page); //to check the outputs

相关问题