1

私は、ある時点でユーザーのサインアップを表示および処理する必要がある wordpress プラグインに取り組んでいます。[signup-page]私はすでにページを作成し、そのコンテンツとしてショートコードのようなものを追加しました.

ここで、このショートコードを、プラグイン ディレクトリにある実際のサインアップ フォームに変換します。

プラグインには、(クラス コンストラクターに追加された) 次のようなアクションを含む内部動作を処理するクラスがあります。

add_action('admin_menu', array(&$this, 'register_menus'));
add_filter('plugin_action_links', array(&$this, 'add_action_link'), 10, 2);

そして彼らはうまくいきます。

add_filter('the_content', array(&$this, 'load_view'), 100);関連するメソッドも追加しました:

function load_view($content){
   if(preg_match('#\[signup-page\]#is', $content))
   {
      return 'REGISTRATION FORM HERE!';
   }
   return $content;
}

ただし、このフィルターは機能しません。ここで何が欠けているのかわかりません。

4

1 に答える 1

1

ページ/投稿のコンテンツにあると思い[signup-page]ます。shortcodeそうであれば、使用できます

if(stristr($content, '[signup-page]'))
{
    $reg_form="<form action=''>";
    $reg_form.="<input />";
    // ...
    return $reg_form;
}
return $content;

しかし、適切な使用方法shortcodeは(基本的には functions.php にあります)

function myShortCodeGenerator($atts)
{
    // ...
}
add_shortcode( 'signup-page', 'msShortCodeGenerator' ); // myShortCodeGenerator function will execute whenever wordpress finds [signup-page]

続きを読む.

于 2012-11-10T02:58:52.973 に答える