2016-06-27 5 views
1

私のPHPスキルはほとんどゼロです。私はこの種のものを作るために友人を持っていましたが、CSSのやHTMLやWebのコンテンツを作るのですが、私はWordpressで動作する私のこのウェブを担当しなければならない。彼はWPプラグインではないが、うまく動作するファイルをダウンロードする素晴らしいアプリを作った。私がしたいのは、そのツールを「メインWebにログインした場合」のツールにすることだけだ。場合は、手動で生成され、それはのような新しいページにロードしますリンクをクリック: "?myweb [ドット]コム/ folder1の/ Down.php ID = ..."ワードプレス外でのWordPress認証

私が見つかりました。このようなものであることファイル「Down.php」:「

<?php 
. 
. 
. 
?> 
<!DOCTYPE html> 
<html lang="es-ES"> 
. 
. 
. 
</html> 

が、私はワードプレスのユーザー認証を追加する方法がわからないが、私は多分...仕事ができるコードを見つけましたが、私はドンそれを使う方法を知っている、あなたがこれをする方法を知っているか、別の方法を知っているなら、あなたが私を助けることができたら非常に感謝します。

<?php 
if (is_user_logged_in()) : 

    // Contenido solo para usuarios registrados  

else : 

    // Mensaje para los que no pueden ver el contenido anterior 
    echo 'Lo sentimos, este contenido sólo está disponible para usuarios registrados :-('; 

endif; 
?> 

私はすでに(WP Plugin付き)は、Web上のリンクの可視性を制限する方法を発見し、私もそれが直接のリンクを推測して、それを避けるために非常に簡単です、それは非常に簡単ですことがわかりました。どうぞ、これで助けてください。

+0

'is_user_logged_in()'関数を使用するには、WordPressコードをロードする必要があります。これは、 "Down.php"はそうではありません。 [この質問](http://stackoverflow.com/q/5306612/1714)を参照してください。 '$ wpdb'について話していますが、原則は同じです。受け入れられた答えのコメントに従って、 'wp-load.php'をインクルードするだけです。 'if'-' 'else'ブロックをどこに入れるのかという点では、" Down.php "というコードを見ずに言うのは難しいです。 – Hobo

+0

「else」ステートメントを忘れてしまったので、メインページにログインしていないときに表示されないようにするにはHTMLが必要です。いくつかのテストコード、スペキュレーションなどを教えてください。/home/random_name/public_html(ここではWPインストールです)/ wp_main_ web_installation/download_folder(ここではapp'Down.phpとダウンロードするファイルです) –

+0

'else 'ステートメントはトリッキーなビットではありません。それは "Down.php"の構造を正確に理解している。しかし、私に数分を与えると、私は助けるかもしれない何かを投稿します。 – Hobo

答えて

0

私のコメントとフィードバックに基づいて、このようなものが機能するかもしれません。上に右に追加したコードを<?phpの下に置きます。それはすべき(私はそれをテストしていない)ユーザーがログインしていない場合は403(禁じられた)応答を送信する。

<?php 
$path = $_SERVER['DOCUMENT_ROOT']; 
require_once $path . '/wp-load.php'; 

if (! is_user_logged_in()) { 
    header("HTTP/1.1 403 Forbidden"); 
    die(); 
} 

. 
. 
. 
?> 
<!DOCTYPE html> 
<html lang="es-ES"> 
. 
. 
. 
</html> 

ワードプレスがpublic_htmlにない場合、それは失敗する可能性があります(私はわからないんだけどテストなしで)wp-load.phpの前にディレクトリ名が必要な場合があります。しかし、私があなたの質問を理解していれば、そうではないはずです。

+0

OMG!それは完璧に働いた。今のところ、それは私が必要とするすべてのものです。あなたが望むなら、私はあなたに "Down.php"ファイルを電子メールか何かで送ることができ、そして私のホストサーバのファイルツリーを送ることができます。非常に非常にありがとう。 –

+0

お寄せいただきありがとうございます。それが動作している場合、私に何かを送る必要はありません。私の答えを受け入れてくれてありがとう – Hobo

+0

ちょっとしたことを加えてみると、webはpublic_htmlには載っていません。はい、そこにはWordPressのインストールがあり、カバーシートのようにしか動作しません。そのサブドメインはpublic_html/subdomain /です。 –

関連する問題