私のクライアントは、PayPal のカートに追加ボタンをページのどこにでも配置できる機能を望んでいます。1 つのページに複数のボタンを配置できる可能性があります。彼は [price MONKEY] のようなショートコードを使用して、PaylPal ボタンでそのテキストを「monkey」の価格と説明に置き換えます。
そのため、ページで [price] ショートコードを見つけるたびに、データベースにクエリを実行して値を取得し、次の PayPal ボタン コードに挿入して、ページのその場所にボタンを表示する必要があります。次に、次の置換がある場合はそれに移動します。
PayPal ボタンのコードは次のとおりです。
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" value="_cart" name="cmd" />
<input type="hidden" value="me@mydomain.com" name="business" />
<input type="hidden" value="1" name="add" />
<input type="hidden" value="MONKEY" name="item_name" />
<input type="hidden" value="" name="item_number" />
<input type="hidden" value="17.00" name="amount" />
<input type="hidden" value="2" name="no_shipping" />
<input type="hidden" value="USD" name="currency_code" />
<input border="0" type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/x-click-but22.gif" alt="Make payments with PayPal - it's fast, free and secure!" />
</form>
preg_replace_callback() 関数を使用してこれを実行しようとしましたが、ボタンのすべての HTML を挿入するのに問題があり、ページ上でさらにショートコード インスタンスを探してそれらを置き換えることに問題がありました。
これに関する助けに感謝します!このコードはすべて既に記述されている Wordpress では非常に単純です (しかし、どこに?)。ありがとう!
これが私の正規表現です:
$pattern = '/\[price (.*?)\]/';