Hi, In this WordPress custom post loop with arguments we are going to learn how to declare a custom post with argument and use the custom post in frontend as a slider. Now start to make a custom post for slider step by step
Step 1. Open function.php file of your theme folder and write the array of label
//Declare Custom Post Type Slider: $labels = array( 'name' => ' Sliders', 'singular_name' => ' Slider ', 'menu_name' => ' Sliders', 'name_admin_bar' => ' Slider ', 'add_new' => 'Add Slider ', 'add_new_item' => 'Add New Slider ', 'new_item' => 'New Slider ', 'edit_item' => 'Edit Slider ', 'view_item' => 'View Slider ', 'all_items' => 'All Sliders ', 'search_items' => 'Search Sliders', 'parent_item_colon' => 'Parent Sliders', 'not_found' => 'No Sliders found.', 'not_found_in_trash' => 'No Sliders found in Trash.' );
We have declared all the label to be shown on admin panel
Step 2. Now make an array of an argument with the labels
$args = array( 'labels' => $labels, 'description' => __( 'Description.', 'your-plugin-textdomain' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'sliders' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'post-formats', 'custom-fields' ) );
Here the supports portion is to give permission of access and right and slug is for URL parameter to show the single slider.
Step 3. Now register the post with the argument
register_post_type( 'custom_slider', $args );
here the custom_slider is the id of the slider by which we will get the slider from frontend and also make a custom single post
Step 4. Now init a function and put the above code inside the function.
Function 'custom_slider_init(){ //the above code inside the function } add_action( 'init', 'custom_slider_init' );
Here is the full code for declaring a custom post for slider
function custom_slider_init(){ $labels = array( 'name' => ' Sliders', 'singular_name' => ' Slider ', 'menu_name' => ' Sliders', 'name_admin_bar' => ' Slider ', 'add_new' => 'Add Slider ', 'add_new_item' => 'Add New Slider ', 'new_item' => 'New Slider ', 'edit_item' => 'Edit Slider ', 'view_item' => 'View Slider ', 'all_items' => 'All Sliders ', 'search_items' => 'Search Sliders', 'parent_item_colon' => 'Parent Sliders', 'not_found' => 'No Sliders found.', 'not_found_in_trash' => 'No Sliders found in Trash.' ); $args = array( 'labels' => $labels, 'description' => __( 'Description.', 'your-plugin-textdomain' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'sliders' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'post-formats', 'custom-fields' ) ); register_post_type( 'custom_slider', $args ); } add_action( 'init', 'custom_slider_init' );
Step 5. Now call the declared custom post from fronted in any arge by using below code
The code of custom post loop
//the argument for the post $args = array( 'post_type' => 'product' ); //passing the argument through query post query_posts( $args ); // if there is post go inside if loop if ( have_posts() ): //fetch the cumber of posts while ( have_posts() ) : the_post(); // Do stuff with the post content. the_title(); the_permalink(); the_content(); the_excerpt(); echo wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); echo get_the_category_list(); endwhile; else: // Insert any content or load a template for no posts found. endif; // reset the query for the other posts have declared and to be declare wp_reset_query();
In this post, we have learned how to declare a custom post with argument and use the custom post in frontend as a slider
In next post, we are going to learn how to create an index page for a WordPress theme