如何将现有的PHP代码插入WordPress

时间:2020-02-19 作者:Alexter Philip de Guzman

我在公司网站上有一个现有功能,可以让您输入参考订单号,它将为您提供该订单上所有项目的状态列表(它实际上使用SOAP与公司数据库联系以提供状态。请注意,我们的网站是通过外部提供商托管的)。现在,我们有了一位使用WordPress开发网站的web开发人员,我如何将之前使用PHP网站的功能插入/使用到新的WordPress网站。

请参阅代码

<?php
class philipshow extends modul {

    function __construct($name = __CLASS__) {
        parent::__construct($name);
        $this->process();
    }
    protected function process() {

     $s = Request::postVars(\'workordernumber\');
          $key = $s[\'key\'];
       $wsdl = "http://x.x.x.x/WOTracking.svc?wsdl";

       $client = new SoapClient($wsdl, array(
                                "trace"=>1,
                                "exceptions"=>0));
   $parameter->WorkOrderNumber = $key;
       $value = $client->GetWorkOrderMasterDetail($parameter);
       $content = $client->__getLastResponse();
       // Loads the XML
       $xml =  simplexml_load_string($content);

       $xml->registerXPathNamespace(\'a\', \'http://schemas.xxxx\');
              $woresult = $xml->xpath(\'//a:WorkOrder\');
       $det= array();
       foreach ($woresult as $workorder) {
          $wo[\'CustName\'] = $workorder->xpath(\'a:xxx\')[0];
          $wo[\'PONumber\'] = $workorder->xpath(\'a:xxx\')[0];
            ......
       }
       $this->woresults = $wo;       
       $woitems = $xml->xpath(\'//a:WorkOrderItems/a:WorkOrderItemInformation\');
      foreach ($woitems as $woi) {

        $items[\'ItemNo\']=  $woi->xpath(\'a:itemno\')[0] ;
        $items[\'Descript\'] =  $woi->xpath(\'a:itemdesc\')[0];
         .......
        array_push($det,$items); 

      }
       $this->wodetails = $det;       
       }
       }
    ?>
TPL代码

<!-- left-side -->

<!-- left-side -->


{$wohead = $obj->woresults}
{$woitemdetails = $obj->wodetails} 

<!-- center-side -->
    {$count=1}
    <div >

         <div class="border-box company_article clr">
              <h3><span>&raquo;</span>&nbsp;Sales Order <span> Status</span></h3>
                  <p><h6>Customer Name :  {$wohead.CustName} </h6>
                   <h6>Purchase Order Number :  {$wohead.PONumber}</h6>
                   <h6>Our Ref No. :  {$wohead.WONumber} </h6>

                    </p>
                    <p>
          <table border="1" style="width:100%">
                    <tr>
            <b>
             <td>Item #</td>

                <td>Description</td> 
                <td>Size</td>
                <td>Quantity</td>
                <td>UOM</td>
                <td>Status</td>
            </b>
           </tr>

            {foreach $woitemdetails as $detail}
        <tr>
                   <td> {$detail.ItemNo}</td>

                  <td> {$detail.Descript}</td>
            <td> {$detail.Size}</td>
            <td>  {$detail.Quantity}</td>
            <td> {$detail.UOM}</td>
            <td>{$detail.Status}</td>


    </tr>
      {/foreach}
</table>

        </div>
    </div>
    <!-- center-side -->

1 个回复
最合适的回答,由SO网友:WebElaine 整理而成

一般来说,您通常可以使用PHP代码并在顶部放置注释:

<?php
/* Plugin Name: My SOAP Plugin
*/
?>
然后可以在/wp-content/plugins/(例如,/wp-conten/plugins/my-soap-plugin/)中为插件创建一个文件夹,并将PHP文件放在该文件夹中。此时,您可以从wp admin激活插件。

根据PHP文件的具体功能,它可能需要编辑。例如,如果它引用了服务器上的任何特定路径,则需要对这些路径进行调整,因为您几乎可以肯定以前没有在/wp-content/plugins/folder中包含该文件。可能需要进行其他更改—例如,您必须弄清楚如何处理SOAP数据—是否将其显示在新的管理屏幕上?在前端为与该数据关联的已登录用户显示它?-因此,它可能需要大量的开发工作。

相关推荐

将变量或变量占位符从编辑器传递到PHP

我正在为我的客户构建一种方法,以构建一个要用wp\\U mail发送的消息内容。在此范围内,我希望他们能够选择变量,例如,在我的管理自定义字段中,消息可能如下所示:电子邮件:$Email\\u地址$名字:$First\\u Name$因此,当我遍历这些行时,我可以发现一个变量占位符,并用我的变量替换$email\\u address$,因此我的PHP看起来像:$body = \'Email Address: [email protected]<br>First Name: Mickey Mouse\