使用 jQuery.load() 查询自定义 post 类型
Query custom post type with jQuery.load()
我在网站 see here 上工作,我创建了一个名为 "projects" 的自定义 post 类型。
当页面最初加载时,一切正常,所有 post 数据都已加载。但是当我使用 $.load()
从外部文件加载相同的代码时,什么也不会显示。它似乎只是自定义 post 类型的问题,如果我将 "projects" 替换为 "post" (默认类型), "Hello World" post 将被重新查询,但不是 "projects"。
如何查询自定义 post 类型两次?这是我的代码:
<?php
$args = array(
'post_type' => 'projects',
'tax_query' => array(
'taxonomy' => 'nonfiction'
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ):
while ( $query->have_posts() ):
$query->the_post();
$meta_data = array(
'author' => get_post_meta($post->ID, 'Author', true),
'publisher' => get_post_meta($post->ID, 'Publisher', true),
'year' => get_post_meta($post->ID, 'Year', true),
'role' => get_post_meta($post->ID, 'Role', true),
'location' => get_post_meta($post->ID, 'Location', true)
);
?>
<li>
<?php
echo $meta_data['author'];
echo ". ";
the_title();
echo " (" . $meta_data['location'] . ": " . $meta_data['publisher'] . ", " . $meta_data['year'] . "). " . $meta_data['role'];
?>
</li>
<?php
endwhile;
endif;
?>
$(document).ready(function(){
$('.tab').click(function(){
$('.publications').load('http://greyediting201.staging.wpengine.com/wp-content/themes/pp_boot/_nonfiction.php', null, console.log('finished'));
});
});
我认为 .load 只能在相对 URL 中工作,否则任何跨域问题
是的.load()函数中不使用服务器url而是相对路径如./js的路径folder/jsfile.js。希望对你有用
我在网站 see here 上工作,我创建了一个名为 "projects" 的自定义 post 类型。
当页面最初加载时,一切正常,所有 post 数据都已加载。但是当我使用 $.load()
从外部文件加载相同的代码时,什么也不会显示。它似乎只是自定义 post 类型的问题,如果我将 "projects" 替换为 "post" (默认类型), "Hello World" post 将被重新查询,但不是 "projects"。
如何查询自定义 post 类型两次?这是我的代码:
<?php
$args = array(
'post_type' => 'projects',
'tax_query' => array(
'taxonomy' => 'nonfiction'
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ):
while ( $query->have_posts() ):
$query->the_post();
$meta_data = array(
'author' => get_post_meta($post->ID, 'Author', true),
'publisher' => get_post_meta($post->ID, 'Publisher', true),
'year' => get_post_meta($post->ID, 'Year', true),
'role' => get_post_meta($post->ID, 'Role', true),
'location' => get_post_meta($post->ID, 'Location', true)
);
?>
<li>
<?php
echo $meta_data['author'];
echo ". ";
the_title();
echo " (" . $meta_data['location'] . ": " . $meta_data['publisher'] . ", " . $meta_data['year'] . "). " . $meta_data['role'];
?>
</li>
<?php
endwhile;
endif;
?>
$(document).ready(function(){
$('.tab').click(function(){
$('.publications').load('http://greyediting201.staging.wpengine.com/wp-content/themes/pp_boot/_nonfiction.php', null, console.log('finished'));
});
});
我认为 .load 只能在相对 URL 中工作,否则任何跨域问题
是的.load()函数中不使用服务器url而是相对路径如./js的路径folder/jsfile.js。希望对你有用