我在公司网站上有一个现有功能,可以让您输入参考订单号,它将为您提供该订单上所有项目的状态列表(它实际上使用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>»</span> 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 -->
最合适的回答,由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数据—是否将其显示在新的管理屏幕上?在前端为与该数据关联的已登录用户显示它?-因此,它可能需要大量的开发工作。