質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1681閲覧

cron での get_permalink( $id ) の使用について

future

総合スコア62

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/08/16 05:11

編集2016/08/16 06:08

rss で取得した情報を cron を使い WordPress のデータベースへ自動登録する処理を作っています。

cron で使用する php ファイルを直接アドレスバーに入力して実行すると問題ないのですが、
cron 側で自動実行させると

lang

1get_permalink( $id );

の結果にドメインが含まれなくなります。

・直接実行
http://example/各投稿ページURL

・cron で自動実行
http:///各投稿ページURL

サーバー側で何か設定が必要なのでしょうか?

※PHPのバージョンは PHP5.6.22 です。

cron での処理

lang

1// データベース接続処理は省略 2 3// 投稿情報 4$post = array(); 5$post['ID'] = ''; // 以下略 6 7// DBへ記事情報を格納し、自動採番される投稿IDを取得 8$insert_id = wp_insert_post( $post ); 9 10// 記事のパーマリンクを取得 11$link = get_permalink( $insert_id ); // <= ここで取得する情報がおかしくなります。 12

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/16 05:56

cron はWordPress の機能で実現されているのでしょうか。そうでないとすれば、どのようにWordPress を呼び出しているのでしょうか。
future

2016/08/16 05:57

cron はサーバー側の機能で実行しております。 Xサーバーを利用しております。
kei344

2016/08/16 06:00

どのようにWordPress を呼び出しているのでしょうか。 コードを質問文に追記ください。
guest

回答1

0

ベストアンサー

WordPress を呼び出す部分、つまりインクルードして関数を使うなどの方法を採られていると思いますが、通常のWordPress の起動プロセスを経ない場合は多くの関数群は通常と違う挙動をする可能性があります。

なので、

  1. APIを利用して記事の追加をする

ここの私の回答を参照ください ⇒ https://teratail.com/questions/44292

  1. WordPressのプラグインとして開発し、wp_cron で追加処理をする

下記のような方法で定期実行をWordPressで行えます。

【非同期処理をWordpressのwp_cronを使って投げるように改修した | TeraDas-テラダス】
http://www.teradas.net/archives/14854/

【wp_cron を使った外部データ取得の非同期化とそのデバッグ方法 – セルティスラボ】
http://celtislab.net/archives/20140425/wp_cron-debug/

投稿2016/08/16 06:22

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問