Get page.php using php code - php

I am working with wordpress.
I see that in my index.php there is a code called <?php get_footer(); ?> ..and I get it, it's simple. This code will pull footer.php.
It seems to me that the get_footer() is built in to wordpress that pulls anything that is named footer.php.
I have created my own page called page.php.
I want to be able to 'get' this page and show in my php code enabled 'sidebar widget'.
I have tried to paste this code, and I am more that certain that its wrong:
<?php
echo file_get_contents("side.php");
?>
What code would I need if I want my custom page called page.php to be shown?

The WordPress way to load a template file is get_template_part():
get_template_part( 'page' );
// loads page.php from the theme directory.
Note that page.php is a special filename in WordPress themes, this file is loaded as a template if a page is displayed. You should give your file a different name if you want to prevent this.
Details are in the already mentioned template-hierarchy.png
Edit:
After rereading your question: If your page.php is not from a template, but in a folder of a plugin you are developing as a sidebar widget, the also already mentioned include('page.php'); would be the way to go.

page.php is a special page of wordpress. See this diagram.
https://developer.wordpress.org/files/2014/10/template-hierarchy.png.
The wordpress way is to create a own template.
https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/

try the following
include ('side.php');
OR
require ('side.php');
you may also use include_once / require_once

Please use require_once or include in php file like below.
require_once('side.php');
or
include ('side.php');

try this,
require( dirname( __FILE__ ) . '/page.php' );
if your page is in same level where is your parent page.

Add this code in your php page
<?php include_once('filename.php'); ?>

There are so many options that you can chose:
You can use get_template_part():
From the Docs: WordPress now offers a function, get_template_part(),
that is part of the native API and is used specifically for reusing
sections - or templates - of code (except for the header, footer, and
sidebar) through your theme.
Other solution is require_once() or include_once().
But if i compare both function include_once() is faster than to require_once() for smaller application.
For better understanding about the require and include you can read this Question.

Related

WordPress include file at header not working

I tried to include some php files in header.php. I use the script below :-
get_template_part( 'custom/tos_functions');
However get_template_part doesn't work for me, so I use include which works fine.
include (TEMPLATEPATH . "custom/tos_functions.php");
The issue is, if I put this line in header.php, I want to use some of the functions in custom template , say profile.php. In profile.php the file is as though not being called at all. I can't get the data I need in profile.php.
Then I tried to take out the include script from header, and place it in profile.php and the data I need can be called perfectly fine.
This will be an issue as there will be many custom php pages I need to create, thus every page will call the include script.
Question, why is it that the file cannot be called from header.php ? The data can only be retrieved within header.php and any custom page that calls the header, couldn't get the data from the include file.
Anyway I can fix this so that I can place the include file in the header.php?
Thank you!
Rather than including files in the theme template files (such as header.php), you should include them in the theme's functions.php file.
Including them in the template files is almost always too late in the WP run for it to be useful, and it may cause unexpected results and unexpected output in your templates.
Instead, in your functions.php file, do something like so:
require_once 'custom/tos_functions.php';
Then, your API code is available where you need it, and it is in the "right" place and consistent with the "WordPress way".

How to include PHP file in Wordpress that is outside the Wordpress Environment

I am using a custom CMS for a website that deals with 90% of the site's pages and content.
However, for the news/blog section of the site, I am using Wordpress.
I'm able to include the necessary Wordpress files to pull in posts to the main site, but cannot do the reverse.
I want to be able to call a php file into the header of Wordpress so I have access to the CMS's classes, primarily for navigation.
I've tried a search but can't seem to find an answer.
Additional Information:
Wordpress is installed in site.com/wordpress
The file I want to include is in site.com/includes
Clarification:
I don't want to create a custom template or include Wordpress functionality outside of Wordpress. I want to pull external classes from a CMS, which is a level above Wordpress, into Wordpress so that I can use it throughout the Wordpress installation.
You should go with custom page template.
Its an easy way to include php file in wordpress because in thisway you can easily include wordpress theme header and footer.
To create a custom page template.
You have to simply create new .php page and at start of page just include this code.
<?php
/*
Template Name: My custom page template name
*/
?>
// your code
To read in detail about Wordpress custom page template click here
I hope it will help you.
Method 1 :
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Method 2 :
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
?>
I managed to fix this by altering the include line to reference the folder above the Wordpress root.
So, the line became require_once "../path/to/file" instead of just require_once "/path/to/file"

Use a custom named php file in a Wordpress theme

I'm building a wordpress theme for someone, based on an older modified theme, and it was using some AJAX scripting with Flash based "holders" for ad areas. I'm trying to use custom name phps to add image widgets to them.
So basically, I am trying to use a <?php get_ad('variantnamehere'); ?> and to get ad-customname.php from my theme files.
I assume I have to register those files within functions.php, but I have no idea how to do that.
Is there any way to do that?
In your theme's functions.php add the following:
require_once( dirname(__FILE__) . '/ad-customname.php' );
Thanks to Artur's feedback, I was able to find what I was looking for, thanks to the article here.
In functions.php, include your files using
include ( dirname(__FILE__) . '/customfilename.php' );
In your theme file where you wish to insert the code within that php file, add:
<?php get_template_part('customfilename');?>

Creating a custom page on wordpress and adding content to it

I want to create a php page on the website (CMS Wordpress), but I do not understand how to incorporate the template files, for example
<?php get_header(); ?>
And other content. I know that it is possible to create pages through the admin interface, but I do not fit... if you try to create a page of template files and then go for it the direct link:
http://local/wp-content/themes/mytheme/mypage.php
with pre-embedding the code
<?php get_header(); ?>
it will fail like:
Fatal error: Call to undefined function get_header()
What should I do?
How i can "say" this CMS that the page is important for me, and it performs some functionality? That is, in fact, get the full url to her and that did not give out errors…
You need to include wp-load.php in your script to use any of WP functions:
<?
require_once('../../../wp-load.php');
get_header(); ?>
try that. xD

Joomla 2.5 template 'functions.php' similar to wordpress

I need to reference a particular functions.php file, that can be stored in the template directory of my Joomla template. WordPress seems to include this, but if I do something like:
Include the functions file
<?php require_once ( 'functions.php' ); ?>
In the functions.php:
<?php
function displaySomething() {
echo "Hello World";
}
?>
and then in the templates index.php:
<?php displaySomething(); ?>
The template breaks/is blank. For aguements sake, I just want to have a single referencable php case function.
Try this -
<?php require_once ($this->baseurl.'/templates/'.$this->template.'/functions.php'); ?>
However, chances are that you shouldn't do it this way. In general it's not a good idea to hard code anything in to your template because that removes the ability to select the pages that you want the code to be executed on and it removes the ability to easily edit what ever the code is doing.
You really should put your code in a module or plugin. Putting it in a module makes it easy to select the pages you want the code on, turn it on or off globally, or to change the output easily. Putting it in a plugin would make it easy to put it on pages based on one of the Joomla event triggers, and to turn it on or off globally.
For the amount of time it would take to turn it in to an extension, it is well worth it.
Try with (using the constant JPATH_BASE):
<?php
#Loading functions
require_once (
JPATH_BASE."/templates/{$this->template}/functions.php"
);
?>

Categories