2016.06.20
1471文字 / 読了時間:1.8分程度
WPmemo

これ1年くらい悩んでる。

これでなんとかなるかも→できなかった、を繰り返してるわけだけど。
JavaScript系ならどうかなとも思ったけれど、それも結局はphpとかわりなさそうだし、結局ショートコードは諦めたほうがいいのかもな状態。

フォーム送信でクッキー保存ならできるけど

フォームのボタンを使えば(経験値を受け取る、みたいな)ショートコードでもできるけれど、あくまで小説として考えるならすっきりしないよねってことで、他の方法を探ってるわけだけど。

経験値とかならまだしも、フラグ管理保存しますか? とかあれだし、といって、毎回ページ遷移以外にフォームクリックするって、小説を読む環境としてどうなのってのはあるし。

絶対、違和感あると思う。

まあ、所持金とかアイテムとかなら、アイテムを保存する、所持金を保存する、みたいなフォームで対応してもいいだろうけど。

ただ、ゲーム性をとるか、小説としての読みやすさ(読むこと、読む内容に専念)とどっちをとるか……にはなりそうではあったり。

1ページの分量が多ければ、これまでのデータを記録する――とかそういう表記でクッキー保存というのはそれほど違和感ないと思う。

ただし、1000文字程度の短い分量のページが大量にあって分岐やランダム等で移動していくタイプの場合、作品が面白ければ読者は次のページに行くことを優先するんじゃないかな。

その場合、セーブ処理しないとステータスがスルーされる仕様だと、そのフォーム送信の手間と時間がストレスになりそうではあったり。

WordPressでなくて普通のphpサイト作ればその手間もなくなるんだけど、まあそれは最初からわかってることだし……。

クッキー保存ありカスタム投稿タイプで対応?

てことで、カスタム投稿タイプを考えたらどうかなあとか。

ページのデザイン自体は、通常の投稿使い回し(でないと手間)。
ただ、一番上にsetcookieを設置。

クッキー保存の基本はアクセスカウンタの発想だと思う(最初に練習したのそれだったし)。

カスタム投稿タイプでできそうなことメモ。

  • ページ遷移の回数→日数経過、時間経過、移動距離、経験値等扱い(アクセスカウンタの名前を変えただけ)
  • ページ訪問済かどうか、フラグ関連

カスタム投稿を増やす手間のわりにできることはこれだけかってなると、フォーム送信したほうがましなんじゃないかとも思えるわけだけど。

フォームのボタンのデザインをフォームっぽくなくする……とか小手先の対応も思いついたけれど、本質的なものじゃないよねっていう。

正直、この程度しかできないならフォーム送信で対応したほうがまだましだと思える。

まとめ

ショートコードでクッキー保存したいだけなのに……で1年。

つまりこの辺に「<?php setcookie…… ?>」って書きたいだけなんだけど、なんでphpファイルの一番上縛りとかあるのっていう。

まあ、こういうことらしいけど。

クッキー(Cookies)
http://php.net/manual/ja/features.cookies.php

クッキーは HTTP ヘッダの一部なので、 setcookie() はブラウザに何らかの出力を行う前にコールする必要があります。 この制約は、header() に課されているものと同じです。

setcookieは<html>の前に置かなければならない仕様から、<html>以下なのは確実なショートコードでどう対応できるわけがあるのか、ってことなのかなあ。

おとなしく、フォーム使うしかないのかな。

とりあえずおわり……。





WPmemo





Comment





×

Status


苗字:
名前:
性別:
年齢:
通り名:
出身:
誕生月:
誕生日:
職業:
種族:
武器:
属性:
髪色:
目色:
口癖:

Setting

苗字:
名前:
性別:
年齢:
通り名:
出身地:
誕生月:
誕生日:
職業:
種族:
武器:
属性:
髪色:
目色:
口癖:




× 
×


最近の投稿

最近のコメント

アーカイブ

カテゴリー

メタ情報

×

Custom Menu