初めて投稿するので、間違っていたら教えてください!
WP をポータル ページとして使用して、Wordpress と Xenforo の両方を使用しています。どちらも独自のデータベースを持っています。Xenforo 専用に設計された、何年もサポートが継続されていない WP プラグインを使用しています。
問題: プラグインが Xenforo フォーラムから最新の投稿 (または最新の投稿) を取得し、WP のサイドバー ウィジェットに表示します。ただし、投稿リンクは、特定の投稿ではなくスレッドにつながります。
プラグインのコードを調べて、これを修正するために変更する必要があるコードの部分を見つけようとしました。何を探すべきかわかりません。
プラグインのコードは次のとおりです。
<?php
//------------------------------------------------------------------------------------
//status: CHECKED IN
//------------------------------------------------------------------------------------
/**
* qry_lastposts.php: run the query to get the last posts
* @package plugins_lastposts
* @version version 1.4.0
* @copyright EIP Software LLC - eipSoftware_Copyright.php
*/
//------------------------------------------------------------------------------------
/**
* Get Last Posts --> run the queries to get the latest forum posts
* @return string last post query
*/
function qry_LastPostList($userOptions)
{
try
{
$qry_sql = " SELECT thread.thread_id,
thread.title,
thread.username as threadstarter,
thread.user_id as threadstarterid,
thread.reply_count as replies,
thread.last_post_id as lastpostid,
thread.last_post_username as lastposter,
thread.last_post_user_id as lastposteruserid,
thread.last_post_date as lastpostdate,
usr.avatar_date as lastposteravatardate,
TRUNCATE(usr.user_id, -3)/1000 as lastposteravatardir
FROM xf_thread as thread
inner join xf_user as usr
on thread.last_post_user_id = usr.user_id
WHERE thread.discussion_state = 1
AND usr.message_count >= " . $userOptions['forumUserPosts'] . "
AND node_id NOT IN (" . $userOptions['excludeNodes'] . ")
AND thread.last_post_date >=UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL " . $userOptions['forumLookBack'] . " DAY))
AND usr.user_group_id NOT IN (" . $userOptions['forumUserGroup'] .")
ORDER BY last_post_date DESC
";
$qry_sql .= ($userOptions['forumPosts']>=1 && $userOptions['forumPosts']<=100) ?
" LIMIT 0," . $userOptions['forumPosts']
:" LIMIT 0,10";
return($qry_sql);
}
catch(ExceptionHandler $e)
{
$e->ParseError($qry_sql);
}
}
?>
投稿 ID に接続されていないものがここにあると考えています。たとえば、リストの最初の投稿をクリックすると、次のようになります。
スレッド index.php?threads/ORCHESTRAL-TOOLS-ANNOUNCES-SOLOISTS-SERIES--new-TECH-DEMOS を狙っているようです
投稿IDがそこにある場合でも: #46965
クリックすると、そのスレッドの最初の投稿にたどり着きますが、私が期待していた投稿ではありません。つまり、投稿自体に移動するのではなく、新しい投稿を見た最新のスレッドを表示しているようです。
誰かがこれを理解していますか... :)これを修正するために私ができる修正、変更、または追加はありますか?
元のプラグインはこちらにあります: https://www.dropbox.com/s/4jzfpfpcccjtrj6/eipSoftwareOnlineUsers_v1.2.5b.zip?dl=0
上記のコードは、eipSoftware\lastposts\qry にあるファイル qry_lastposts.php からの cam を投稿したものです。
助けてくれてありがとう!
よろしく、
アンドレ