0

Re:返信ごとにメッセージの件名にa を追加するプライベート メッセージ スクリプトを使用します。残念ながら、同じメッセージに対して複数の返信がある場合は、別の が追加Re:されるため、いくつかの PM が交換されるまでには、次のようになります。

Re: Re: Re: Re: Re: Re: Re: Re: Hello World!

これを行うスクリプトの関連部分は次のとおりです。

                    | <a class="reply"
                    href="<?php echo wp_nonce_url( "?page=rwpm_send&recipient=$msg->sender&id=$msg->id&subject=Re: " . stripcslashes( $msg->subject ), 'rwpm-reply_inbox_msg_' . $msg->id ); ?>"><?php _e( 'Reply', 'pm4wp' ); ?></a>

そのため、返信があった場合にのみ 追加するようにスクリプトを調整したいと思います。Re:それ、どうやったら出来るの?私はおそらくIFステートメントが既にあるかどうかをチェックしていると推測してRe:います...

4

2 に答える 2

2

簡単な正規表現はどうですか?

$replysubject = preg_replace('/^(Re: )*/', 'Re: ', stripcslashes( $subject ));

これにより、入力文字列に Re: がいくつ含まれていても、最初に 'Re:' が 1 つだけの文字列が出力されます。

あなたの場合:

href="<?php echo wp_nonce_url( "?page=rwpm_send&recipient=$msg->sender&id=$msg->id&subject=" . $replysubject, 'rwpm-reply_inbox_msg_' . $msg->id ); ?>"

于 2013-01-14T12:50:01.297 に答える
2

したがって、「Re:」がない場合にのみ追加します。

| <a class="reply" href="<?php echo wp_nonce_url( "?page=rwpm_send&recipient=$msg->sender&id=$msg->id&subject=".(strpos($msg->subject, "Re:") === false ? "Re: " : ""). stripcslashes( $msg->subject ), 'rwpm-reply_inbox_msg_' . $msg->id ); ?>"><?php _e( 'Reply', 'pm4wp' ); ?></a>

そして、それが最初だけにとどまるべきとき:

   | <a class="reply" href="<?php echo wp_nonce_url( "?page=rwpm_send&recipient=$msg->sender&id=$msg->id&subject=".(substr($msg->subject, 0, 3) != "Re:" ? "Re: " : ""). stripcslashes( $msg->subject ), 'rwpm-reply_inbox_msg_' . $msg->id ); ?>"><?php _e( 'Reply', 'pm4wp' ); ?></a>
于 2013-01-14T12:50:47.273 に答える