2017-08-08 4 views
0

私は、phpとwordpressで新しいです。wordpressは投稿からページに値を送る

私はxmlを解析し、結果を掲載したいと思っています。

これはxmlです:

<?xml version="1.0" encoding="utf-8"?> 
<all_emp> 
<emp_detail> 
<emp emp_name="john"><img>john_1.jpg</img></emp> 
<emp emp_name="john"><img>john_2.jpg</img></emp> 
<emp emp_name="john"><img>john_3.jpg</img></emp> 
<emp emp_name="marry"><img>marry_1.jpg</img></emp> 
<emp emp_name="marry"><img>marry_2.jpg</img></emp> 
<emp emp_name="david"><img>david_1.jpg</img></emp> 
</emp_detail> 
</all_emp> 

私はポストにそれを表示するのfunctions.phpにショートコードを使用しています。

$url = 'https://.../emp_test.xml'; 
$xml = simplexml_load_file("$url") or die("Error: Cannot create object"); 
$names = array(); 
$emps = $xml->children()->emp_detail->emp ; 
foreach($emps as $emp_detail) 
{ 
    $source = (string)$emp_detail->attributes()->emp_name; 
    $names[]= $source; 
} 
$names = array_unique($names); 
return implode("<br />", $names); 

ので、ポストに、私は次のようになりました:ジョンをクリックするか、その後

john 
marry 
david 

、それは文字列を送信するページへジョンのですか?

+0

私たちはアイデアを得ることができますので、あなたのコードを追加してくださいすることができ、作成したページがあるとしましょうか? – Jalpa

+1

あなたはそれをより明確に記述できますか?この結果はどこに表示されるべきですか?フロントエンドまたはバックエンド?このデータを挿入しているところから 'john:male:26'? jhonがユーザーで、usermetaからデータを取得している場合、その表示部分を行うためにajax呼び出しを使用するだけでいいと思います。 –

+0

@Jalpa:私は自分の質問を更新しました。 – 1234abcd

答えて

0

これを行う最も理想的な方法ではないと私が最初に言わせてください。ただし、これらの名前を処理するページのテンプレートを作成することはできます。次に、このテンプレートを使用するWordPress Pageを作成します。 http://[SITEURL]/name-handling-page

その後、あなたの代わりにjsutthe名のURLを返すために上記のあなたのショートを修正することができます:

$names = array_unique($names); 
$links = array(); 
foreach ($names as $name) 
{ 
     $links[] = get_permalink('name-handling-page')."?name=$name"; //replace name-handling-page with slug or id of newly created page 
} 
return implode("<br />", $links); 
+0

私はページ内のすべてのemp名を表示し、別のページにimgを表示する必要がありますか?ページ - >ページ、ポスト - >ページではありませんか? – 1234abcd

関連する問題