wordpresswp-configファイルを使用してデータベースに接続します
-
-
プラグインとして使用できない理由を正確に説明してください.Please explain _why exactly_ it's not possible as plugin.
- 1
- 2012-05-04
- kaiser
-
スクリプトは、管理者側ではなく、パブリックにアクセスする必要があるため(ログイン画面が表示される可能性があるため、wp-content/pluginsなどのフォルダーでは機能しません).Because the script require to be publicly accessed, not on the admin side( it will not work on any folder like wp-content/plugins since a login screen may come across ).
- 0
- 2012-05-04
- user983248
-
質問を編集して、スクリプトで何をしたいのかを伝えたいと思うかもしれません.プラグインとしてはほとんど何でも可能です:)I think you might want to edit your question to say what you want to do with your script. Pretty much anything is possible as a plug-in :)
- 0
- 2012-05-04
- Stephen Harris
-
PaypalのIPN検証、参照してください、プラグインフォルダーから実行している間は機能しませんでしたが、Wordpressインストール全体の外部のフォルダーからは機能しましたIPN validation for Paypal, See, it didn't work for me while doing it from the Plugins folder, but yes from a folder outside the whole Wordpress installation
- 0
- 2012-05-04
- user983248
-
2 回答
- 投票
-
- 2012-05-04
wp-configでユーザーセットを定義するを使用します:
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
編集: スクリプトはWordpress環境の外部にあるため、wp-configの定義を使用する前にスクリプトを開始する必要があります.
require_once('./path/to/the/wp-config.php'); mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
Using the defines the user sets in wp-config:
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
EDIT: Since your script is outside the Wordpress environment, what you want to do is initiate it before using the defines in wp-config.
require_once('./path/to/the/wp-config.php'); mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
-
あなたはそれが現在あなた自身の質問では機能しないと述べました.反対票を投じるつもりはありませんが、あなたの答えが実際に機能し、OPが間違っていることを示していることを確認してください.ありがとう!:)ところで:WPSEへようこそ.私が少し押しても、他の質問に答えるのを妨げないでください.答えることは常に高く評価されています.Which you stated that it currently doesn't work in your own question. Not going to downvote, but please make shure that your answer really works and shows what the OP makes wrong. Thanks! :) Btw: Welcome to WPSE and don't let that little push by me hold you back from answering other questions. Answering is always highly appreciated.
- 1
- 2012-05-04
- kaiser
-
データベースへの接続は機能します.私の質問の問題は、それを外部ファイルに呼び出す関数を抽象化することです.ここで使用している値は、Wordpressのセットアップに使用する `wp-config.php`で設定された定義です.それが機能しないと仮定する前に、少なくともそれを試しましたか?The connection to the database works. The problem in my question is abstracting the function that calls it out to an external file. The values I'm using here are defines set in `wp-config.php` which you use to set up Wordpress. Did you at least try it before assuming it doesn't work?
- 0
- 2012-05-04
- akamaozu
-
これは元の質問から少し外れていますThis is a bit off the original question
- 0
- 2012-05-04
- user983248
-
実際に試しましたか?私はあなたが_(データベースに接続する)_とまったく同じ問題を抱えていました、そして私はwp-configによって設定された定義を使用することによってそれを解決しました_(あなたが要求したように)_.`wp-config.php`のおかげで、残りはすべてすでにWP環境にあるため、必要な変数は$ db_nameだけです.Wordpress環境がロードされている限り、定義に完全にアクセスできます. **編集:スクリプトはWordpress環境の外にありますか?**Have you actually tried it? I had the exact same problem you have _(connecting to the database)_ and I solved it by using the defines set by wp-config _(like you requested)_. The only variable you need is $db_name, since all the rest are already in the WP environment thanks to `wp-config.php`. As long as the Wordpress environment is loaded, you have total access to the defines. **edit: Is your script outside the Wordpress environment?**
- 0
- 2012-05-04
- akamaozu
-
はい、私の最後の編集を読んでください、そして時間を割いてくれてありがとうYes, please read my last edit, and thanks for taking the time
- 0
- 2012-05-04
- user983248
-
問題ない.私の修正をテストし、それを反映するように元のソリューションを編集しました.Not a problem. Tested my fix and edited the original solution to reflect it.
- 0
- 2012-05-04
- akamaozu
-
@Akamaozu:コードを「wp-blog-header.php」から「wp-config.php」に編集した後、それがここで問題のファイルであるため、正しい答えとして受け入れます.どうもありがとう@Akamaozu: I will accept your answer as the correct one after you edit the code from 'wp-blog-header.php' to 'wp-config.php' since that is the file in question here. Thanks a lot
- 0
- 2012-05-04
- user983248
-
- 2014-04-05
WordPress自体が提供する
$wpdb
オブジェクトを使用するだけで、スクリプトをWordPress投稿の一部にすることができます.$wpdb
オブジェクトにはすでにデータベース接続が確立されており、これを使用して、挿入、更新、クエリなどのデータベース操作を実行できます.これは、WordPress内でDBを実行するための推奨される方法です.追加のデータベース接続を開く必要はありません.たとえば、将来の投稿を取得するための簡単な例を次に示します.
$posts = $wpdb->get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future' AND post_type='post' ORDER BY post_date ASC LIMIT 0,4");
追加情報については、この記事を確認してください: http://wp.smashingmagazine.com/2011/09/21/interacting-with-the-wordpress-database/
You can make your script a part of your WordPress post, just use the
$wpdb
object provided by the WordPress itself. The$wpdb
object already has the database connection established and you can use it to perform any database operation: insert, update, query etc... This is preferable method for doing you DB stuff inside WordPress as you do not have to open any additional database connections.Here is a simple example for getting the future posts for instance:
$posts = $wpdb->get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future' AND post_type='post' ORDER BY post_date ASC LIMIT 0,4");
Check out this article for additional info: http://wp.smashingmagazine.com/2011/09/21/interacting-with-the-wordpress-database/
-
あなたの答えからリンクを削除したとき、 `$ wpdb`が基本的なデータベースタスクを実行できるというヒントを除いて、実際の解決策がどうなるかについての情報は得られませんでした.いくつかの基本的な例を披露するためにあなたの答えを改善していただけませんか?ありがとう.When I remove the link from your answer, I got no information about what the actual solution would be, aside from a hint that `$wpdb` can perform basic database tasks. Would you please mind to improve your answer to show off some basic example? Thanks.
- 1
- 2014-04-05
- kaiser
-
そこの記事には `$ wpdb`オブジェクトの非常に詳細な説明があるので、そこにたくさんのテキストをカットアンドペーストしたくありませんでした.ただし、基本的に、スクリプトがWordPressの一部である場合は、 `$ wpdb`オブジェクトを使用して、次のようなデータベースクエリを実行できます. `$posts=$ wpdb->get_results(" SELECT ID、post_title FROM wp_posts WHEREpost_status='future' ANDpost_type='post' ORDER BYpost_date ASC LIMIT 0,4 ");` 質問をした人は後でそれをプラグインにしたくないことを明らかにしたので、私の答えは今はあまり関連性がないので、そのままにしておくことにしました.The article there has a very detailed description of the `$wpdb` object, so I didn't want to the cut and paste a lot of text there. But basically if your script is part of the WordPress, you can use the `$wpdb` object to run the database queries like this: `$posts = $wpdb->get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future' AND post_type='post' ORDER BY post_date ASC LIMIT 0,4");` The person asking the question clarified it later that (s)he does not want to make it a plugin, so my answer is less relevant now, so I decided to leave it as is.
- 0
- 2014-12-11
- obaranovsky
-
必要な情報は常に質問に入れてください.コメントは定期的にクリーンアップされます.とにかく、私は他の答えと質問をもう一度読み、両方を-1にしました.今のところ、元の質問はまだサイトをハッキング/感染させる試みのように見え、他の答えはすべての行のベストプラクティスに反しています.Please always put any information one needs into the question. Comments get cleaned up regularly. Anyway, I read the other answer and the question again and -1ed both of them. By now the original question still looks like an attempt to hack/infect a site and the other answer is against best practice in every single line.
- 0
- 2014-12-11
- kaiser
-
これは私の意見ではより良い解決策です.組み込みのWordPress関数を利用することが常に望ましいです.$ wpdb Objectを調べた後、それが明らかになるはずです.This is the better solution in my opinion. Making use of build-in WordPress functions is always preferable. After looking in $wpdb Object it should become clear.
- 0
- 2017-06-14
- user3135691
wp-config.phpファイルを使用してデータベースに接続するにはどうすればよいですか?
スクリプトをWordpressに適したものにしようとしています.データベースに接続する必要がありますが、スクリプトをプラグインとしてインストールする必要はありません.
基本的にスクリプトを使用しています
スクリプトをプラグインとしてインストールすることはできません(これにより、作業が簡単になります).そのため、インストール時に既存のwp-config.phpを使用してデータベースに接続する必要があります...アイデア???
よろしくお願いします
編集と明確化
1-変更なしでwp-config.phpをそのまま使用する必要があります. 2-スクリプトはwww.example.com/script/にあります 3-ログイン画面をジャンプせずにスクリプトのコアにパブリックアクセスする必要があるため、プラグインとして実行することはできません. 4-私の質問は基本的に、上記のスクリプトを変更してwp-config.phpファイルを使用してデータベースに接続する方法です.