您可以创建一个短代码,并将其添加到您想要的任何页面中。此代码将注册您的自定义短代码:
add_action( \'init\', \'register_custom_shortcodes\' );
function register_custom_shortcodes(){
add_shortcode( \'my-custom-shortcode\', \'display_movies\' );
}
此代码将负责在放置快捷码的任何位置显示的内容:
function display_movies(){
ob_start();
//Your code here to display your custom post type posts
return ob_get_clean();
}
您可以将上述函数放置到您的函数中。php
然后在函数display\\u movies()中,可以运行WP\\u查询来显示帖子。您可以在此处阅读WP\\U Query采用的所有参数:https://developer.wordpress.org/reference/classes/wp_query/
显示自定义帖子类型帖子的示例代码如下:
$args = array(
\'posts_per_page\' => 10, //Number of Posts
\'post_type\' => \'movie\', //Replace with you custom post type slug
\'post_status\' => \'publish\',
);
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo \'<div class="movies-wrapper">\';
while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
<div class="movie-item">
<?php the_title(); ?>
<?php
//Maybe display a custom field
echo get_post_meta( get_the_ID(), \'your_custom_meta_key\', true );
?>
</div>
<?php
}
echo \'</div>\';
}
else {
// no posts found
}
// Restore original Post Data
// This code is important do not forget to place it
wp_reset_postdata();
wp_reset_query()
您可以将上述代码放在display\\u movies()函数中。
创建快捷码后,您可以将其放置在任何页面上,如下所示:
[my-custom-shortcode][/my-custom-shortcode]
至于搜索功能,它变得有点复杂。如果需要AJAX搜索,这取决于可能要使用的过滤器。在大多数情况下,您仍将使用WP\\u查询来实现搜索功能。