Products
GG网络技术分享 2025-03-18 16:12 1
I have added CPT UI and Custom Fields plugins to my Wordpress set up. I am trying to add custom posts onto a portfolio page and have two issues that I think must be linked.
Firstly, I cannot get thumbnail images to display on the portfolio page. I have added
\"add_theme_support( \'post-thumbnails\' );\"
to my functions.php file as instructed. The \"add_theme_support( \'menus\' );\" function works fine.
Featured images is enabled and displaying when I add the Portfolio Piece.
In the absence of the image I added a text link which did display but the link address is
\"http://localhost/localwp.dev/2018/07/13/hello-world/\"
and not \"http://localhost/localwp.dev/portfolio_wadn/post/\"
So I know I am missing something because the Portfolio page is not finding the right slug/address to link to the post. I think it must be the way I\'ve set up either the Custom Fields or CPT UI settings but I can\'t find anything that solves the issue.
Can anyone help? Code below.
functions.php code:
<?php add_theme_support( \'menus\' );
add_theme_support( \'post-thumbnails\' );
function register_theme_menus () {
register_nav_menus(
array(
\'primary-menu\' => __( \'Primary Menu\')
)
);
}
add_action( \'init\', \'register_theme_menus\');
function wadn_theme_styles() {
wp_enqueue_style( \'foundation_css\', get_template_directory_uri() .
\'/css/foundation.css\' );
wp_enqueue_style( \'googlefont_css\', \'http://fonts.googleapis.com/css?
family=Asap:400,700,400italic,700italic\' );
wp_enqueue_style( \'main_css\', get_template_directory_uri() . \'/style.css\' );
}
add_action( \'wp_enqueue_scripts\', \'wadn_theme_styles\' );
function wadn_theme_js() {
wp_enqueue_script( \'modernizr_js\', get_template_directory_uri() . \'/js/modernizr.js\', \'\', \'\', false );
wp_enqueue_script( \'foundation_js\', get_template_directory_uri() . \'/js/foundation.min.js\', array(\'jquery\'), \'\', true );
wp_enqueue_script( \'app_js\', get_template_directory_uri() . \'/js/app.js\', array(\'jquery\', \'foundation_js\'), \'\', true );
}
add_action( \'wp_enqueue_scripts\', \'wadn_theme_js\' );
?>
page-portfolio.php code:
<?php /*
Template Name: Portfolio Page
*/
?>
<?php get_header(); ?>
<section class=\"row\">
<div class=\"small-12 columns text-center\">
<div class=\"leader\">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; endif; ?>
</div>
</div>
</section>
<?php
$args = array(
\'post-type\' => \'portfolio_wadn\'
);
$query = new WP_Query ( $args );
?>
<section class=\"row no-max pad\">
<?php if( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
<div class=\"small-6 medium-4 large-3 columns grid-item\">
<a href=\"<?php the_permalink(); ?>\">Test</a>
</div>
<?php endwhile; endif; wp_reset_postdata(); ?>
</section>
<?php get_footer(); ?>
Register Post Type Code
function cptui_register_my_cpts_portfolio_wadn() {/**
* Post Type: portfolio_wadn.
*/
$labels = array(
\"name\" => __( \"portfolio_wadn\", \"\" ),
\"singular_name\" => __( \"Portfolio Piece\", \"\" ),
);
$args = array(
\"label\" => __( \"portfolio_wadn\", \"\" ),
\"labels\" => $labels,
\"description\" => \"\",
\"public\" => true,
\"publicly_queryable\" => true,
\"show_ui\" => true,
\"show_in_rest\" => false,
\"rest_base\" => \"\",
\"has_archive\" => false,
\"show_in_menu\" => true,
\"show_in_nav_menus\" => true,
\"exclude_from_search\" => false,
\"capability_type\" => \"post\",
\"map_meta_cap\" => true,
\"hierarchical\" => false,
\"rewrite\" => array( \"slug\" => \"portfolio_wadn\", \"with_front\" => true ),
\"query_var\" => true,
\"supports\" => array( \"title\", \"editor\", \"thumbnail\", \"custom-fields\", \"page-attributes\", \"post-formats\" ),
);
register_post_type( \"portfolio_wadn\", $args );
}
add_action( \'init\', \'cptui_register_my_cpts_portfolio_wadn\' );
There is an error in your \'page-portfolio.php\' code - \'post-type\' should be \'post_type\'.
$args = array(\'post_type\' => \'portfolio_wadn\'
);
Demand feedback