ニュースピックスにコメントを投稿すると、ワードプレスの投稿ページにタイトルと自分のコメントを挿入してくれます。
ここのページを参考にしました。
この人はカスタム投稿タイプを作成してそっちにさせてますが、私は通常の投稿タイプにしました。
newsをpostに変更するだけです。
アイキャッチ画像の設定はうまく行かなかったのでここだけは手動で行ってます。
私はPHPはよくわからないのでどうカスタマイズすればどう動くかよくわからなかったので、修正しては確かめてを繰り返しました。
問題は、この設定だと更新した時や通常の投稿をした時にもトリガーが実行されてしまいます。
そこで回避させるためコンテンツに、英語でニュースピックスという文字列が含まれている場合は、トリガーを実行しないようにさせました。
// update
$wpdb->query(“UPDATE wp_posts SET post_title = ‘$new_title’ WHERE id = $id “);
$wpdb->query(“UPDATE wp_posts SET post_content = REPLACE (post_content, ‘$url’ , ‘$link’) “);
$wpdb->query(“UPDATE wp_posts SET post_thumbnail = ‘$image’ WHERE id = $id “);
// 不要な部分の削除
$post = $wpdb->get_results(“SELECT post_content FROM wp_posts WHERE id = $id”);
$content = $post[0]->post_content;
$new_content = explode( ‘ / ‘, $content);
$tmp = explode( ‘<a’, $new_content[1]);
$new_content[0] .= ‘<br><a class=”button” href=”‘.$url.'” target=”blank”>Read</a>’.$tmp[1];
$new_content = str_replace(“#NewsPicks”, “” , $new_content[0]);
$wpdb->query(“UPDATE wp_posts SET post_content = ‘$new_content’ WHERE id = $id “);
}
}
赤字の部分を追加しました。
これだと記事にニュースピックスと英語で記載してしまうと、その記事にも投稿時トリガーが実行されるので、本当はタイトルとコメントが同じ場合にトリガーを実行させたかったのですが……うまく出来ませんでした。
一応思ったとおりの処理は実行出来ているので素人にしては上手くいった方かと思います。
……と思いましたが、これだとタイトルを読み込んでしまうのか。。。
一応こんな感じになりました。
インターフェースもかなり変更しました。
アイキャッチ画像とタイトルと本文の位置関係
記事一覧と記事本文のアイキャッチ画像のサイズ変更などなど
アプリに懸けた青春──アプリ甲子園 2014で優勝した女子高生・山本文子さんにインタビュー
文・取材・撮影:編集部 北口徒歩2分●高級旅館の跡取り娘がアプリ開発の道へ
“アプリ甲子園”というコンテストをご存じだろうか? これは、株式会社D2Cが主催、ライフイズテック株式会社が運営するアプリ開発コンテンストで、2011年から毎年開催されており、今年は生年月日が1995年4月2日~2002年4月1日までの人を対象に行われた。アプリを開発し、そのアプリをみずからプレゼンするという、まさにアプリ開発者としての資質が問われるこのコンテストで今年優勝したのが、日本女子大学附属高校1年の山本文子さんだ。今回は、山本さんの母親が若女将を務める神奈川県湯河原温泉の高級旅館“ふきや”を訪れ、彼女にお話をうかがった。
すごいですね。
アプリは単純だけどセンスがあると思います。
なんで広告貼らないんだろ?
アプリ甲子園に優勝しても大した賞金はもらえません。
優勝 iMac(27インチ)or Macbook Pro 13/15インチRetinaディスプレイ
準優勝 タブレット(新型iPadまたはAndroid端末のどちらかを選択できます)
決勝進出者全員 Amazon card 5000円分
俺が高校生の頃何もしてなかったからな。
スマホがあったらアプリ開発に打ち込みたかった。
外注しましょう
もしくは有志を募り作ってもらいましょう。
売れたら利益分配するとか言って。
HTML、CSS、javascriptが分かれば、当該コードで作成したデータをスマホのアプリ形式に変換して出力出来ます。
私はこれで作りました。
[wonderplugin_carousel id=”2″]