1

ショートコードを介してページに人のリストを表示する小さなワードプレス プラグインを作成しました。

ユーザーがリストから名前の 1 つをクリックすると、query_var が設定され、ユーザーがクリックした人の特定の ID でプラグインが $_GET をキャッチします。今まではとても順調です。

私の問題は、(クリックされた要素の)詳細を含むページを表示したいのですが、ページに到達するコンテンツまたは投稿を編集できないようで、人のリストを含むページに戻ることです.

私の質問は、投稿を編集するにはどうすればよいですか? これに add_filter('the_content','my_func') を追加しようとしましたが、このフックはおそらく既に渡されているため、これは機能しません。

get_content() または get_post() を介して投稿に直接アクセスできますが、ページに新しいデータを入力することはできないようです。

言い換えれば...これは機能していないようです

$fid = $_GET['fid'];
global $wpdb;
$sql = "select * from fighters where fighter_id = {$fid} limit 1";
$fighter = $wpdb->get_row($sql);

$html = $this->_getFighterPageLayout($fighter);

$post = get_post();
$post->post_content = $html;
$post->title = 'test';
$post->private = false;
// or even just global $content = $html;

私は何を間違っていますか?また、コンテンツ/投稿を編集/更新するにはどのような方法が必要ですか?

4

1 に答える 1

3

コンテンツを更新するには、Wordpress のフックを使用する必要があります。これはadd_filter関数で動作します

このようなことを試してください、うまくいくはずです

function mytheme_content_filter( $content ) {
     // Do stuff to $content, which contains the_content()
     // Then return it
     return $content;
}
add_filter( 'the_content', 'mytheme_content_filter' );
于 2013-04-30T20:34:02.937 に答える