1

ライトボックス内で単一のワードプレス投稿を開く必要があるプラグインを開発しています。詳細は次のとおりです。

  • 現在、ライトボックスにカラーボックスを使用しています。ライトボックスは、投稿 ID を $GET 変数として受け取った外部 .php ファイルを開くようにトリガーされます。
  • テーマのヘッダーとフッターではなく、タイトル、メタ情報、コンテンツ、およびコメントの部分のみをライトボックスで開く必要があります。
  • すべてのショートコード、埋め込まれた YouTube リンクなどは、開いた投稿で機能するはずです。
  • 現在のテーマの single.php ファイルを取得し、そこからヘッダー、サイドバー、フッターを取り除き、フォーマットされたコンテンツのみを表示する方法があれば素晴らしいでしょう。しかし、それはテーマに依存し、一般的な解決策ではないと思います

現在のプラグイン リンクは次のとおりです: http://test.anshulsharma.in/

外部 php ファイルの現在のコードは次のとおりです。

if(!function_exists('get_post'))
{
require_once("../../../../wp-load.php");
}
$thepost = get_post($_GET["ID"]);
$thecontent = $thepost->post_content;
$thetitle = $thepost->post_title;
$thelink = get_permalink($_GET["ID"]);
?>
    <div id="cg-post-container" style="width:<?php echo get_cg_option('lightbox_width'); ?>px;">
    <div id="cg-post-title">
    <a href="<?php echo $thelink; ?>"><?php echo $thetitle; ?></a>
    </div>
    <div id="cg-post-content">  
            <?php echo $thecontent; ?>
    </div>          
</div>

プラグインの現在のバージョンでは、投稿のコンテンツのみが表示されます。ショートコードは機能せず、埋め込まれたリンクは表示されません。また、コメントを表示または追加する方法もありません。このためにカスタムの single.php ファイルを作成し、独自のスタイルを追加したいと考えています。しかし、私はそれを行うための最良の方法と、投稿 ID ($GET 変数から single.php まで) をライトボックスに伝える方法を知りたいだけです。

4

1 に答える 1

1

外部ページが、常に変更されるわけではない 1 つの正確なページである場合、解決策は簡単です。ページを作成します。たとえば、次のようにしますhttp://yoursite.com/yourpage。というページ テンプレートを作成しpage-yourpage.php(以前のページ名と同じ接頭辞を使用.php)、このテンプレート ( からコピーできます) で、必要に応じて不足しているタグをsingle.php削除get_header()してget_footer()+ 追加します (閉じbodyて にhtml)。そのページ ( http://yoursite.com/yourpage) をライトボックス リンクで呼び出します。すべてのショートコードなどが機能します。終わり。それ以外の場合、AJAX 呼び出しにアクセスできる場合は、url を呼び出す代わりに、内部のコンテナーを呼び出します。したがって、次のようなものの代わりに:

jQuery("#targetcontainer").load("/yourpage/");

電話 :

jQuery("#targetcontainer").load("/yourpage/ #sourcecontainer");
于 2012-11-16T18:17:52.947 に答える