[s_ad]
こんにちは。
@OfficeTAKUです。
これまで自分がこのブログでどんな記事を書いてきたのか?
結構、自分自身で忘れてしまっています。検索したら自分の記事がひっかかってきた、なんてこともあったりして、呆れたり、「お、ちゃんと書いてあるじゃん」って自分を褒めてやったりと、毎日あたふたとしております。
そんなわけで、記事一覧を取得できないか、調べたら、SQLサーバーで抽出する方法がありました。
ちゃんとデータベースになってんだから、あたりまえ。
→ WordPress の投稿記事一覧をデータベースから取得してファイルに出力する方法
でも、「なんかちょっと面倒、SQL直接触るの恐い。きっとプラグインあるだろう」と安易な方向へ流れる私。
検索して見つけた中の一つ「Export All URLs」をインストールしてみました。
「Export All URL’s」CSVへのエクスポートでエラー Unable to create a file on your server!
WordPress.org:Export All URLs — WordPress Plugins
WordPress認証のプラグインなので、プラグインの新規追加からインストールしました。
設定項目も限られているのでそれほど面倒はありません。
[Export Type] を [CSV] にして [Export Now] のボタンをリクック
エラーが表示されました。
Warning: fopen{ほにゃらら/wp/wp-content/uploads/419583.csv) failed to open stream: No such file or directori in ほにゃらら} 〜
Unable to create a file on your server!
ふむふむ、「そんなファイルもディレクトリもない」「あなたのサーバーにファイルをつくることができない」と、いう意味のようです。
試しに、
[Export Type] を [Output her] にしたところ、ちゃんと表示されます。
これをコピーしてExcel や Google Spreadsheet に貼り付けてもちゃんと使えますが、せっかくなので調べてみました。
[解決] プラグインの functions.php で upload の ディレクリを書き換える
WordPress.org の この「Export All URLs」プラグインのサポートページを見てみました。
→ View: [Export All URLs] Support « WordPress.org Forums
「Unable to create a file on your server!」というタイトルの書き込みもあります。
同じ現象で悩んでいる方がいるようでした。
回答の中に、
I assume that your WordPress installation is in another folder that of the root.
どうやらルートディレクトリ直下にインストールせず、他のフォルダにインストールしているからのようです。
ただし、そのタイトルのスレッドに書いてある記述どおり書いても解決せず、他のスレッドも読んでみたら、うむ、こうすればよいのではないか?と浮かんできました。
functions.php を 編集してディレクトリを変更する手順
- 一旦プラグインを[停止]にしておきます。
- [プラグイン]をクリックし、[プラグイン編集]をクリックします。
初回、「あんたほんとに編集するの。やめとけば」みたいな画面が表示されるかもしれません。[OK]ボタンだかなにかわすれましたがクリックしてすすめて下さい。 - [プラグイン編集]の画面が表示されます。
- 右上の[編集するプラグインを選択:]で、[Export All URLs] を選択し[選択]ボタンをクリックします。
- [プラグインファイル]一覧から[functions.php]をクリックします。
- [functions.php]が開きます。
ここからの作業は、画面下に
「警告:使用中のプラグインへの変更は推奨されません。」と表示されている通り、危険な作業であることは間違いないので、注意して操作して下さい。いわゆる自己責任ってやつでお願いします。
- upload ディレクトリが記述されている部分を探します。
編集エリア内でクリックし[command]+[F]で検索すると早いです。 - 私の場合は、ルートディレクトリ直下の「wp」フォルダに WordPressをインストールしています。
そこで、下の画像では 195行目にある「 “/wp-content/uploads/”;」の 最初のスラッシュの前に「/wp」を付け加えてみました。
- 書き換え終わったら画面下の[ファイルの更新]ボタンをクリックします。
これで無事にCSV出力ができました。
修正した部分
$upload_dir = $_SERVER['DOCUMENT_ROOT']."/wp-content/uploads/";
↓
$upload_dir = $_SERVER['DOCUMENT_ROOT']."/wp/wp-content/uploads/";
PHPやSQLをしっかりと勉強しておけば、こんなこと何でもないのでしょう。
いつも付け焼き刃、喉元過ぎれば熱さ忘れる、で、お恥ずかしい話しです。
精進します。