【问题标题】:How to add HTML markup and CSS style in PHP如何在 PHP 中添加 HTML 标记和 CSS 样式
【发布时间】:2022-01-22 13:50:07
【问题描述】:

我不精通 PHP。我一直在尝试将 css 添加到以下 php sn-p 但无济于事。

add_filter(  'gettext',  'change_related_products_title', 10, 3 );
function change_related_products_title( $translated, $text, $domain  ) {
    if( $text === 'Related products' && $domain === 'woocommerce' ){
        $translated = esc_html__( 'These go well with', $domain ) . ' ' . esc_html( get_the_title() );
    }
    return $translated;
}

据我了解,echo 可以工作,但它会返回 sn-p 错误。 printf 更接近我想要达到的结果,但它添加了一个我不知道它代表什么的随机数。

以下是我尝试过的:

add_filter(  'gettext',  'change_related_products_title', 10, 3 );
function change_related_products_title( $translated, $text, $domain  ) {
    if( $text === 'Related products' && $domain === 'woocommerce' ){
        $css = '<h1>Some Text</h1>';
        $translated = printf($css , $domain ) . ' ' . esc_html( get_the_title() );
    }
    return $translated;
}


上面的sn-p返回:Some Text 随机数标题。

我想要达到的实际结果是使用 css 标签包装输出以进行样式设置。例如像这样:

一些文字 标题

【问题讨论】:

  • 您在使用echo 时收到什么错误消息?此外,&lt;h1&gt;Some Text&lt;/h1&gt; 是 HTML,而不是 CSS。无论如何,为什么不只是return "&lt;h1&gt;$translated&lt;/h1&gt;";
  • 我在你的代码中没有看到 CSS。您能否改述一下以更详细地描述您希望输出的内容。此外,如果您遇到错误,请在您的问题中显示它们,
  • @kmoser 谢谢。 -_-” 我认为这是开始阶段自学的问题。混淆并且没有努力使术语正确。感谢指出是HTML标记。return "&lt;h1&gt;$translated&lt;/h1&gt;"将其作为文本字符串返回不是我想要的。我想设计它。
  • @AHaworth 抱歉,正如 kmoser 所指出的,是 HTML 标记。它没有具体的错误信息,但整个网站都坏了。
  • @jollysea 您似乎不了解 CSS 与 HTML 的关系。做你想做的事情的简单(但不是最好的)方法是$translated = '&lt;span style="font-weight:bold;"&gt;' . $domain . '&lt;/span&gt; &lt;span style="font-style:italic;"&gt;' . esc_html( get_the_title() ) . '&lt;/span&gt;';。更好的方法是发出类名而不是内联 CSS,并在外部样式表中设置这些类名的样式。

标签: php css woocommerce


【解决方案1】:
  1. 那不是随机数,是$css中的字符数。

  2. printf 需要 % 标识符。请参考documentation

  3. html h1 是一个块级元素,它不会显示带有您的标题的内联块作为您的预期结果。因此,您需要编写自定义 css 以将其显示在行内块中。

希望下面的代码能够为您提供所需的输出

$css = '<div class="wrapping-class"><div class="custom-class">Some Text</div>%s</div>';

printf($css,  esc_html( get_the_title() ));

生成的 HTML 标签

【讨论】:

  • 谢谢。有没有办法阻止字符数显示?
猜你喜欢
  • 2016-12-06
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 2020-07-30
  • 2017-01-06
  • 1970-01-01
  • 2014-02-09
相关资源
最近更新 更多