2017-08-20 11 views
0

Googleスプレッドシートにデータベースを持つプロジェクトを実行しています。インタラクティブな表にその情報を表示する必要があります。Wordpress-ショートコードのHTMLコンテンツ(データベース)を表示するプラグイン

私はこれを行うためにSheetrock.jsとHandlebar.jsを使用しました(私はコードを書いていました。私はWordPressのウェブサイトを持っていて、ショートコードを入力してコード化したテーブルをページに表示するプラグインを作りたいと思っています。

埋め込みスタイリング(別の<style></style>タグ、外部CSSファイルなし)を使用して別個のHTMLファイルがあります。ファイルにはHTMLボイラープレートがあり、<head></head>にはsheetrock.js、handlebar.js、およびbootstrapへのリンクがあります。

私の知る限り、PHPはこれらのHTMLタグを表示できません。 私はショートが全く内容が表示されないよう、次の...

<?php 
function showIco() { 
?> 
<!DOCTYPE html> 
<head> 
<!-- all the CDN links --> 
</head> 
<style> 
<!-- all the styling is here, and I know, it's not DRY --> 
</style> 
<body> 
<!-- The content I want to display (it has <script> tags, and variables) --> 
</body> 
</html> 
<?php 
return showIco(); 
} 
add_shortcode ('add_ico','showIco'); 
?> 

はおそらく、私が何か間違ったことをやっているやってみました。私はこの仕事をするために何をする必要がありますか?

答えて

0

この関数を返すと、再帰が発生します。

試してください:あなたがHTMLドキュメント内すでにそれ自体がショートの内側全体をHTMLドキュメントを返すようにしようとしているため

<?php 
function showIco() { 
    ob_start(); 
?> 
<!DOCTYPE html> 
<head> 
all the CDN links 
</head> 
<style> 
all the styling is here, and I know, it's not DRY 
</style> 
<body> 
The content I want to display (it has <script> tags, and variables) 
</body> 
</html><?php 
    return ob_get_clean(); 
} 
add_shortcode ('add_ico','showIco'); 
?> 
+0

フム、それは動作しません。 完全なHTMLファイルを表示するのではなく、コード自体をPHPで記述する必要がありますか? –

+0

エラーログを確認してください。これはどこかで構文エラーになります。 (私の例ではありません) –

+0

奇妙なことに、エラーログは表示されません。プラグインを有効にすると、Wordpressはこの「プラグインが起動時に1文字の予期しない出力を生成しました」と表示します。 –

0

にです。

頭の中のスクリプトでは、エンキューメソッドを使用してショートコードが使用されたときにそれらを戻し、HTMLからhead/body/htmlタグを取り除く必要があります。 (それだけで空白のページです)ページには、すべてでさえ、デフォルトのWordPressのテーマを何も表示されない -

<?php 
function show_ico_scripts() { 
     wp_register_script("show-ico-scripts", "//link-to-CDN-here", array(), "1.0", false); 
    } 
    function showIco() { 
     wp_enqueue_script('show-ico-scripts'); 
     ob_start(); 
    ?> 
    <style> 
    all the styling is here, and I know, it's not DRY 
    </style> 
    The content I want to display (it has <script></script> tags, and variables) 
    <?php 
     return ob_get_clean(); 
    } 
    add_shortcode ('add_ico','showIco'); 
関連する問題