1

Wordpress用のPHPショートコードを持っています。それを[myshortcode]と呼びましょう。

ショートコードを使用すると、次のようなダウンロードURLを入力できます[myshortcodedownload="http://www.example.com/file.pdf"]。

このショートコードをテンプレートファイルで使用したいのですが、ダウンロードURLを可変にします。これは可能ですか?もしそうなら、どうすればいいですか?

これらを試しましたが、機能しません...

<?php echo do_shortcode('[myshortcode download="<?php echo $variable['dllink']; ?>"]'); ?>
<?php echo do_shortcode('[myshortcode download="echo $variable['dllink'];"]'); ?>

何か案は?

4

2 に答える 2

6
<?php echo do_shortcode('[myshortcode download="'.$variable['dllink'].'"]'); ?>
<?php echo do_shortcode("[myshortcode download=\"{$variable['dllink']}\"]"); ?>

これを正しく読んで、なぜそれらが機能し、あなたが機能しなかったのかを理解することをお勧めします;-)

于 2012-06-09T22:42:54.540 に答える
0

変数がどこで定義されているかによると思います。たとえば、ショートコードが管理者が設定ページでいくつかのオプションを設定できるプラグインの一部である場合、phpでそれらのオプションを取得し、値をショートコードにエコーする必要があります。

もう1つの方法は、$ _ POSTメソッドを含むフォームを使用してデータベース内のテーブルに値を送信し、その値を呼び出して変数に設定することです。

私が書いた最近のプラグイン(最近の投稿ビュー)に、データベースからオプションを取得し、それらを変数として挿入するショートコードを含めました。

//Get options from the settings page
$options = get_option('cb_rpv_options');
$select_bold = $options['select_bold'];
$select_italics = $options['select_italics'];
$select_list_style = $options['select_list_style'];

これらの変数は、あなたがやろうとしているショートコードの出力を変更しました。最善の方法は、例としてコメント付きのコードを含むプラグインをダウンロードし、それを構築することです。

これがお役に立てば幸いです。また、構文をクリーンアップする必要があるという他の投稿にも同意します。

于 2012-06-09T22:55:05.997 に答える