0

我想创建一个简码来设置页面上现有内容的样式。

function myShortcode(){    
    $mycontent = '<div class = "columnstyle">'; 
    $mycontent .= ...existing content wrapped in a <p> tag... 
    $mycontent .= '</div>';
    return $mycontent;
}
add_shortcode('columnstyle', 'myShortcode');

现有的“p”标签:

<p class='first'>blah blah blah</p>

如何将 $('.first') 分配给 $mycontent?我认为这行不通...

$mycontent .= $('.first');

更新:

我知道 $('.first') 是一个 javascript 变量,因为我不知道如何在 PHP 中引用它。我要执行的下一个功能是:

function myShortcode_call(){    
    ?>        
        <script type="text/javascript">                
            jQuery(document).ready(function($){                     
                $('.first').before("<?php echo do_shortcode('[columnstyle]'.myShortcode().'[/columnstyle]');?>");

            });
        </script>
    <?php
}
add_action('thesis_hook_after_html','myShortcode_call');

结果是使用短代码 [columnstyle] 为页面上的内容“blah blah blah”设置样式。

4

2 回答 2

1

你可以这样做

$mycontent .= '$(".first")';

当你在下面使用

$mycontent = $('.first');

你会在下面得到错误

 Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' on line bla
于 2012-12-07T14:23:11.500 回答
0

我想这就是你想要的。你在用wordpress工作吗?

http://codex.wordpress.org/Function_Reference/do_shortcode

function myShortcode($shortcode){    
    $mycontent = '<div class = "columnstyle">'; 
    $mycontent .= $shortcode;
    $mycontent .= '</div>';
    return $mycontent;
}
add_shortcode('columnstyle', 'myShortcode');

function myShortcode_call(){    
    ?>        
        <script type="text/javascript">                
            jQuery(document).ready(function($){                     
                $('.first').before("<?php echo do_shortcode('[columnstyle]'.myShortcode().'[/columnstyle]');?>");

            });
        </script>
    <?php
}
add_action('thesis_hook_after_html','myShortcode_call');
于 2012-12-07T14:25:30.297 回答