0

コンストラクターをテーマにしたWordpressサイトを構築しています。目標を解決するには、カスタムコーディングを追加する必要がありました。データベースに保存される、ユーザーが自分のプロファイルに子要素を追加できるようにするモジュールがあります。(作成、更新、削除)この機能は、次のファイルで実行されます。

wp-content\themes\constructor\crud\
 destroy_user.php,
 get_users.php,
 save_user.php,
 show_form.php,
 update_user.php 

現在、これらのファイルにはインクルードがなく、カスタムコード化されたページテンプレートからのみ呼び出されます。これまでのところ、それらは機能します。

ここで、複数のユーザーを処理するためにこのモジュールを開発したいと思います。このためには、誰がモジュールを使用しているかを知る必要があります。これはカスタムページテンプレートではわかりますが、例のコードではわかりません。get_users.php。たとえば、私は使用したい

$user_id = get_current_user_id();

get_users.phpで、SQLを制御し、ユーザーがログインしていない場合はユーザーをリダイレクトします。get_current_user_id()を使用できるようにするには、どのファイルとどのように含める必要がありますか? (単に'../../../../wp-includes/user.php'をインクルードしても解決されません。)

助けてくれてありがとう、Sziro

編集:これはwp-content \ themes\コンストラクター\crud\get_users.phpです

<?php

    $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    $offset = ($page-1)*$rows;
    $result = array();

    include 'conn.php';
    require('../../../../wp-blog-header.php');
    $user_id = get_current_user_id(); //This does not work. If it would be set to = 1, it would work.


    $rs = mysql_query("select count(*) from user_partner where user_id=$user_id");
    $row = mysql_fetch_row($rs);
    $result["total"] = $row[0];
    $rs = mysql_query("select * from user_partner where user_id=$user_id limit $offset,$rows");

    $items = array();
    while($row = mysql_fetch_object($rs)){
        array_push($items, $row);
    }
    $result["rows"] = $items;

    echo json_encode($result);


?>
4

2 に答える 2

1

したがって、現在、Wordpress のテーマにはこのファイルが含まれ、使用されています。別のファイルを作成したり、同じ php ファイルを使用して、Wordpress の機能を含めたりしたいですか?

次の方法で、Wordpress 機能を含めることができます。

<?php
    require('/root_of_wp_installation/wp-blog-header.php');
    //or     require('../../../../wp-blog-header.php');
    get_categories();
?>
于 2013-02-24T14:40:16.923 に答える
0

結局、iframeで解決しました。あまり安全ではありませんが、少なくとも見栄えはします。

于 2013-02-27T17:13:28.363 に答える