블로그

Eng

Integrating WordPress Into PHP Scripts

[ad_1]

Overview

Right this moment, I had to make use of a customized PHP script that I created some time in the past in a brand new WordPress software. As a substitute of creating a WordPress plugin to deal with this current code, I select as a substitute to make use of WordPress straight inside my script.

Utilizing WordPress inside your script is a superb choice in case you have a variety of customized PHP code.

When you have got a big PHP code base out of your earlier growth efforts. There are sometimes different libraries inside your code, comparable to Symfony, Zend Framework, Pear, and so forth, that you do not need to take aside. You might have working code and also you need it to remain collectively.

In my case, I had created a type for information assortment for a shopper. However this was no unusual type. It had over 100 type variables. They have been made up of textual content enter, radio packing containers, checkboxes, and textarea’s. I needed to make use of this kind straight inside my WordPress software. Plus I needed the mixing to simple.

The answer was really fairly easy.

Present PHP Code

For instance, assume that is my current PHP code (it’s a easy script for example this level).

</p><form name="datacollection" method="post" action="index.php"><enter kind="textual content" title="first_name" worth="<php echo $_POST['first_name'];?>&#8220;><br /><input type="submit" value="Submit Data"><br /></form><p>

However the issue is, that’s solely the shape to gather the information. What about the appear and feel of the prevailing website. How can I get the above code to appear to be the identical template format of my WordPress software.

For instance, one answer is so as to add the uncooked HTML. However that’s each time consuming, and it’s not dynamic. If the WordPress template modifications, I’ve to go in right here and manually change it once more. Not one thing I need to do.

<head><br /> <title>My PHP Type Web page<br /></head><br /><body></p><form name="datacollection" method="post" action="index.php"><enter kind="textual content" title="first_name" worth="<php echo $_POST['first_name'];?>&#8220;><br /><input type="submit" value="Submit Data"><br /></form><p><script type="text/javascript" id="perfmatters-delayed-styles-js">!function(){const e=["keydown","mousemove","wheel","touchmove","touchstart","touchend"];function t(){document.querySelectorAll("link[data-pmdelayedstyle]").forEach(function(e){e.setAttribute("href",e.getAttribute("data-pmdelayedstyle"))}),e.forEach(function(e){window.removeEventListener(e,t,{passive:!0})})}e.forEach(function(e){window.addEventListener(e,t,{passive:!0})})}();</script><script>class RocketElementorAnimation{constructor(){this.deviceMode=document.createElement("span"),this.deviceMode.id="elementor-device-mode",this.deviceMode.setAttribute("class","elementor-screen-only"),document.body.appendChild(this.deviceMode)}_detectAnimations(){let t=getComputedStyle(this.deviceMode,":after").content.replace(/"/g,"");this.animationSettingKeys=this._listAnimationSettingsKeys(t),document.querySelectorAll(".elementor-invisible[data-settings]").forEach(t=>{const e=t.getBoundingClientRect();if(e.bottom>=0&&e.top<=window.innerHeight)try{this._animateElement(t)}catch(t){}})}_animateElement(t){const e=JSON.parse(t.dataset.settings),i=e._animation_delay||e.animation_delay||0,n=e[this.animationSettingKeys.find(t=>e[t])];if("none"===n)return void t.classList.remove("elementor-invisible");t.classList.remove(n),this.currentAnimation&&t.classList.remove(this.currentAnimation),this.currentAnimation=n;let s=setTimeout(()=>{t.classList.remove("elementor-invisible"),t.classList.add("animated",n),this._removeAnimationSettings(t,e)},i);window.addEventListener("rocket-startLoading",function(){clearTimeout(s)})}_listAnimationSettingsKeys(t="mobile"){const e=[""];switch(t){case"mobile":e.unshift("_mobile");case"tablet":e.unshift("_tablet");case"desktop":e.unshift("_desktop")}const i=[];return["animation","_animation"].forEach(t=>{e.forEach(e=>{i.push(t+e)})}),i}_removeAnimationSettings(t,e){this._listAnimationSettingsKeys().forEach(t=>delete e[t]),t.dataset.settings=JSON.stringify(e)}static run(){const t=new RocketElementorAnimation;requestAnimationFrame(t._detectAnimations.bind(t))}}document.addEventListener("DOMContentLoaded",RocketElementorAnimation.run);</script></body><br /></html>

However that would not precisely work. I must match the navigation, embrace the fashion sheets, and ensure the HTML matched precisely the appear and feel of my major web site.

The Higher Resolution

Instantiate WordPress, and use the in-built features inside your code.

<php // include the WordPress loader file $root = $_SERVER['DOCUMENT_ROOT']; require( $root. '/wp-load.php' ); // call the Wordpress header function get_header(); ?></p><form name="datacollection" method="post" action="index.php"><enter kind="textual content" title="first_name" worth="<php echo $_POST['first_name'];?>&#8220;><br /><input type="submit" value="Submit Data"><br /></form><php // include the footer get_footer(); ?>

Do you see how simple that was? WordPress is instantiated proper in my web page. Then I instruct the web page to name the header and footer features of WordPress.

The header and footer features present the whole lot I want for the template of my WordPress website. It mechanically populates the HTML, CSS, and any Javascript up on high, and on the underside it closes any tags that have been open.

Conclusion

Let PHP do the work. There isn’t a have to duplicate the WordPress code in pure HTML when you may have it generated mechanically by WordPress itself.

The additional advantage is that if the principle WordPress website format ever modifications, the template wrapping your customized PHP code will replicate these modifications instantly.

error: 복사가 금지되어 있습니다.