Shortcode is definitely a good start. It is very flexible in terms of where you output the content (widget, post, page, inside php function, etc).
You can also override the template output easily by using action hooks and custom post type that you create:
add_action('the_content', 'add_project_content');
function add_project_content($content) {
// Only override the content of project custom post type page
if (is_singular('project')) {
// You can re-use original content stored in $content and simply add things before and after, or you can simply override them with something new
$content = "whatever you want";
$content .= somefunction_output();
};
return $content;
}
This will lift you up from having to deal with template files and worry about matching changes for theme updates. With these methods I get away with creating any extra template files in my child theme folder.
Related Posts:
- What is the correct way for a theme to support plugin UIs?
- How to call “page specific menu items” in template [closed]
- Update Multiple Post Meta for the Same Post In One call?
- Function to activate WordPress theme inside a plugin
- Which functions in theme or plugin load first
- How to load a new template page according to a particular URL?
- Should I use RIPS tool to test my themes and plugins?
- How to Build a Movie Library in WordPress 3.x
- Autoload via composer in plugin interference
- Workflow and best practice for documentation [closed]
- Display future posts?
- Having separate plugins and themes folder for multi-site setup
- How can I get full attachment url from wp_get_attachment_metadata?
- unzip a folder on specific location and delete the zip file
- gallery option is not available in media upload box in costum theme option page
- Why is the Settings API is not saving my array of options
- How to integrate plugin in WordPress theme
- WooCommerce get_price returning wrong price when used via ajax
- Open Post Thumbnail in New Child Theme File in WordPress
- How to use get_theme_mod in gutenberg editor wordpress?
- How to get current post user id
- Display post lists in 2nd paragraph
- What are the specifics of WordPress development I need to know? [closed]
- How to create a code editor for my plugin .?
- wp_footer hook only working on homepage not in other pages
- Redirect to another page using contact form 7? [closed]
- How do I combine a theme with a plugin
- how to force tag page layout to use same as search layout?
- Great blogs site resources/tutorial for WordPress Developers? [closed]
- How to write “alt” tag in image for wordpress code?
- Release the plugin in the WordPress repository where redux is used
- Shortcode Attributes to Return different $_POST
- How to use the CSS of the WordPress core in the development of my administration page?
- WordPress API functions not working at AJAX functions.php call
- What’s the right way to implement functions in footer.php
- Don’t load the theme for a page FROM a plugin EDITED
- Extending a theme: build new features as plugin or core modules?
- Remember the Meta Value With Radio Buttons
- How do you create a re-useable HTML fragment in wordpress
- WordPress plugin with its own “site”/theme
- Yoast SEO Plug In and my Theme duplicating code. Need some feedback on what to do? [closed]
- Seperate plugin and theme files
- Xamp installed local wordpress not allowing to publish or install plugin
- Widgets are not displaying in the admin panel
- How to override any plugin file in the child theme
- submit two file input fields in the same form
- Content-Security-Policy implementation with WordPress W3Total Cache plugin installed
- woocommerce: Customize email with item total count
- Child theme modifications not showing up
- Rename a folder via HTML POST request
- How can I see $post object in frontend from functions.php?
- when i activate my WordPress plugin cannot see customizer options or preview
- Remove action added in plugin class from theme
- Can you develop themes and plugins while using the hosting services BlueHost? [closed]
- Help Code Review – I need to write on .htaccess file from theme’s function.php
- how to add custom css at top above all css file for specific url
- Where do the section input fields values are stored in database
- Why the output of an image gallery plugin is not displayed into a page of my custom theme?
- How to show post attachment image
- Can anyone tell me why I can’t edit a plugin when it is installed without having to re-install?
- What is the Object for WP_Error Class?
- Active Plugins for current blog in WP Multisite Network? [duplicate]
- Breadcrumb is not generating the correct post page url
- Site is setup statically – how to make it content managable?
- How can I make a website with dynamic features with wordpress?
- How to generate a responsive output from plugin?
- How to create post comparison in wordpress
- How to add image for custom taxonomy
- Integrating WordPress Content into a jQuery Slider
- How to escape html code?
- manage_{taxonomy}_custom_column not working
- how to make wordpress remember my choice
- How to Enfroce Domain Licensing Limits? [closed]
- Meta box not displaying on the plugin page
- add_meta_box showing blank screen in my page
- How to make content as required in custom post type?
- What are Seeds? [closed]
- Frontend Enqueued Files in the Backend
- How to create new title and its description inside a section in WP Customizer?
- Gutenberg Blocks and Elementor
- Ajax button “Load more” is not loading correct language version posts for logged out users
- Unable to pass arguments from plugin form to filter hook using ajax, the data is transferring via ajax but unable to pass as arguments in filter hooks
- How to update changes to multiple sites at the same time
- How to code a wordpress page properly? Dashboard or unique Theme files or alternative?
- wp_handle_upload – specified file failed upload test
- Why am I getting an error when requiring a file in my plugin?
- Running a function using Crown WordPress on one day a week, for example, Mondays of every week
- How to make a Template page to show the information of different things Shop and Product page?
- Getting error when accessing Customizer Page
- Allow manage_options capability for specific user only for specific plugin?
- How can I use the zip of my plugin in another website?
- show_admin_bar filter not called inside plugin class
- WordPress 6.3 headers already sent error
- Unable to Edit or Add Photo Gallery Under Portfolio in WordPress 6.2.5
- What are the implications of having main plugin file name different to plugin slug?
- How to secure custom endpoint for rest api in WordPress
- Cron Job not working
- How to prevent WP All Export from wrapping XML nodes in CDATA? [closed]
- How to Display News in a Timeline with Headline, Category, and Time?
- Remove and strip html tag values