本文整理汇总了PHP中doing_filter函数的典型用法代码示例。如果您正苦于以下问题:PHP doing_filter函数的具体用法?PHP doing_filter怎么用?PHP doing_filter使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了doing_filter函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: contentFilter
/**
* Filter the_content, possibly adding Tweet button(s)
*
* @since 1.0.0
*
* @param string $content content of the current post
*
* @return string $content content of the current post, possibly with Tweet button markup added
*/
public static function contentFilter($content)
{
// do not include Tweet button(s) in an autogenerated excerpt
// get_the_excerpt filter calls wp_trim_excerpt() at priority 10 which triggers the_content filter on an empty excerpt string
if (doing_filter('get_the_excerpt')) {
return $content;
}
$options = static::getOption();
if (isset($options['position'])) {
$position = $options['position'];
unset($options['position']);
$tweet_button = \Twitter\WordPress\Shortcodes\Share::shortcodeHandler($options);
if ($tweet_button) {
// wrap in newlines to preserve content scanners looking for adjacent content on its own line
$tweet_button = "\n" . $tweet_button . "\n";
if ('before' === $position) {
return $tweet_button . $content;
} else {
if ('after' === $position) {
return $content . $tweet_button;
} else {
if ('both' === $position) {
return $tweet_button . $content . $tweet_button;
}
}
}
}
}
return $content;
}
示例2: add_shortcode
/**
* Add short code.
* Recommend you don't use this short code registering your own post data.
*
* @param array $atts Short code parameter.
*
* @return null|string
*/
public function add_shortcode($atts = [])
{
$output = null;
$tmp_wrapper = self::_tmp_wrapper();
$show_in_like = apply_filters(VA_SOCIALBUZZ_PREFIX . 'show_in_like', true);
$show_in_share = apply_filters(VA_SOCIALBUZZ_PREFIX . 'show_in_share', true);
$show_in_notification = apply_filters(VA_SOCIALBUZZ_PREFIX . 'show_in_notification', true);
$show_in_follow = apply_filters(VA_SOCIALBUZZ_PREFIX . 'show_in_follow', true);
$doing = apply_filters(VA_SOCIALBUZZ_PREFIX . 'show_in_doing', doing_filter(VA_SOCIALBUZZ_PREFIX . 'doing_show_in'));
$atts = shortcode_atts(array('box' => '', 'mode' => '', 'likebox_text1' => '', 'likebox_text2' => ''), $atts, 'socialbuzz');
if (true !== $doing) {
return $output;
}
switch ($atts['box']) {
case 'like':
$output = self::_shortcode_likeblock($atts['likebox_text1'], $atts['likebox_text2'], $atts['mode']);
break;
case 'share':
$output = self::_shortcode_shareblock();
break;
case 'notification':
$output = self::_shortcode_notificationblock();
break;
case 'follow':
$output = self::_shortcode_followblock();
break;
case 'select':
if (true === $show_in_like) {
$output[] = self::_shortcode_likeblock($atts['likebox_text1'], $atts['likebox_text2'], $atts['mode']);
}
if (true === $show_in_share) {
$output[] = self::_shortcode_shareblock();
}
if (true === $show_in_notification) {
$output[] = self::_shortcode_notificationblock();
}
if (true === $show_in_follow) {
$output[] = self::_shortcode_followblock();
}
break;
default:
$output[] = self::_shortcode_likeblock($atts['likebox_text1'], $atts['likebox_text2'], $atts['mode']);
$output[] = self::_shortcode_shareblock();
$output[] = self::_shortcode_notificationblock();
$output[] = self::_shortcode_followblock();
break;
}
if (is_array($output)) {
$output = implode('', $output);
}
if (!empty($output) && 'widget' !== $atts['mode']) {
$output = str_replace('{{content}}', $output, $tmp_wrapper);
}
return $output;
}
示例3: title
/**
* Gets the title. Main function.
* Always use this function for the title unless you're absolutely sure what you're doing.
*
* This function is used for all these: Taxonomies and Terms, Posts, Pages, Blog, front page, front-end, back-end.
*
* @since 1.0.0
*
* Params required wp_title filter :
* @param string $title The Title to return
* @param string $sep The Title sepeartor
* @param string $seplocation The Title sepeartor location ( accepts 'left' or 'right' )
*
* @since 2.4.0:
* @param array $args : accepted args : {
* @param int term_id The Taxonomy Term ID when taxonomy is also filled in. Else post ID.
* @param string taxonomy The Taxonomy name.
* @param bool page_on_front Page on front condition for example generation.
* @param bool placeholder Generate placeholder, ignoring options.
* @param bool notagline Generate title without tagline.
* @param bool meta Ignore doing_it_wrong. Used in og:title/twitter:title
* @param bool get_custom_field Do not fetch custom title when false.
* @param bool description_title Fetch title for description.
* @param bool is_front_page Fetch front page title.
* }
* @return string $title Title
*/
public function title($title = '', $sep = '', $seplocation = '', $args = array())
{
//* Use WordPress default feed title.
if ($this->is_feed()) {
return trim($title);
}
$args = $this->reparse_title_args($args);
/**
* Return early if the request is the Title only (without tagline/blogname).
*/
if ($args['notagline']) {
return $this->build_title_notagline($args);
}
/**
* Add doing it wrong notice for better SEO consistency.
* Only when in wp_title.
*
* @since 2.2.5
*/
if (false === $args['meta'] && false === $this->is_admin()) {
if (false === $this->current_theme_supports_title_tag() && doing_filter('wp_title')) {
if ($seplocation || $sep) {
//* Set doing it wrong parameters.
$this->set_tell_title_doing_it_wrong($title, $sep, $seplocation, false);
//* And echo them.
add_action('wp_footer', array($this, 'tell_title_doing_it_wrong'), 20);
//* Notify cache.
$this->title_doing_it_wrong = true;
//* Notify transients
$this->set_theme_dir_transient(false);
//* Title is empty.
if (empty($seplocation) && $sep) {
$args['empty_title'] = true;
}
return $this->build_title_doingitwrong($title, $sep, $seplocation, $args);
}
}
}
//* Notify cache to keep using the same output. We're doing it right :).
if (!isset($this->title_doing_it_wrong)) {
$this->title_doing_it_wrong = false;
}
//* Set transient to true if the theme is doing it right.
if (false === $this->title_doing_it_wrong) {
$this->set_theme_dir_transient(true);
}
//* Empty title and rebuild it.
return $this->build_title($title = '', $seplocation, $args);
}
示例4: doing_action
/**
* Retrieve the name of an action currently being processed.
*
* @since 3.9.0
*
* @param string|null $action Optional. Action to check. Defaults to null, which checks
* if any action is currently being run.
* @return bool Whether the action is currently in the stack.
*/
function doing_action($action = null)
{
return doing_filter($action);
}
示例5: filter_sizes
/**
* Filters an array of image `sizes` values, using $content_width instead of image's full size.
*
* @since 4.0.4
* @since 4.1.0 Returns early for images not within the_content.
* @param array $sizes An array of media query breakpoints.
* @param array $size Width and height of the image
* @uses Jetpack::get_content_width
* @return array An array of media query breakpoints.
*/
public function filter_sizes($sizes, $size)
{
if (!doing_filter('the_content')) {
return $sizes;
}
$content_width = Jetpack::get_content_width();
if (!$content_width) {
$content_width = 1000;
}
if (is_array($size) && $size[0] < $content_width) {
return $sizes;
}
return sprintf('(max-width: %1$dpx) 100vw, %1$dpx', $content_width);
}
示例6: register_styles
/**
* Register stylesheets on front pages.
*
* @since 1.0.0
*/
public static function register_styles()
{
if (!class_exists('Cherry_Framework') || doing_filter('cherry_shortcodes/generator/preview/before')) {
wp_register_style('cherry-shortcodes-grid', plugins_url('assets/css/grid.css', CHERRY_SHORTCODES_FILE), false, CHERRY_SHORTCODES_VERSION, 'all');
}
// Magnific Popup.
wp_register_style('magnific-popup', plugins_url('assets/css/magnific-popup.css', CHERRY_SHORTCODES_FILE), false, CHERRY_SHORTCODES_VERSION, 'all');
// Font Awesome.
wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css', false, '4.4.0', 'all');
// Swiper.
wp_register_style('swiper', plugins_url('assets/css/swiper.css', CHERRY_SHORTCODES_FILE), false, CHERRY_SHORTCODES_VERSION, 'all');
// Shortcodes style.
wp_register_style('cherry-shortcodes-all', plugins_url('assets/css/shortcodes.css', CHERRY_SHORTCODES_FILE), false, CHERRY_SHORTCODES_VERSION, 'all');
/**
* Hook to deregister stylesheets or add custom.
*
* @since 1.0.0
*/
do_action('cherry_shortcodes/assets/register_styles');
}
示例7: apply_testing_nested_filter
function apply_testing_nested_filter()
{
$this->apply_testing_nested_filter = true;
$this->assertTrue(doing_filter());
$this->assertTrue(doing_filter('testing'));
$this->assertTrue(doing_filter('testing_nested'));
$this->assertFalse(doing_filter('something_else'));
}
示例8: enlightenment_theme_settings_override_value
function enlightenment_theme_settings_override_value($args)
{
global $pagenow;
if ('themes.php' == $pagenow && isset($_GET['page']) && current_theme_supports('enlightenment-theme-settings', 'menu_slug') == $_GET['page']) {
if (false === strpos($args['name'], '[')) {
if (doing_filter('enlightenment_checkbox_args') && empty($args['checked'])) {
$checkbox = enlightenment_theme_option($args['name']);
$args['checked'] = !empty($checkbox);
} elseif (empty($args['value'])) {
$args['value'] = enlightenment_theme_option($args['name']);
}
}
}
return $args;
}
示例9: did_action
function did_action($tag)
{
return did_action($tag) - (int) doing_filter($tag);
}
示例10: is_content_valid
/**
* Make sure content is valid for processing/activation
*
* @param string $content Content to validate
* @return bool TRUE if content is valid (FALSE otherwise)
*/
protected function is_content_valid($content)
{
// Invalid hooks
if (doing_filter('get_the_excerpt')) {
return false;
}
// Non-string value
if (!is_string($content)) {
return false;
}
// Empty string
$content = trim($content);
if (empty($content)) {
return false;
}
// Content is valid
return $this->util->apply_filters('is_content_valid', true, $content);
}
示例11: doing_filter
private function doing_filter($filter = null)
{
if (function_exists('doing_filter')) {
return doing_filter($filter);
}
global $wp_current_filter;
if (null === $filter) {
return !empty($wp_current_filter);
}
return in_array($filter, $wp_current_filter);
}
示例12: title_from_cache
/**
* Cache current Title in static variable
* Must be called inside the loop
*
* @param string $title The Title to return
* @param string $sep The Title sepeartor
* @param string $seplocation The Title sepeartor location ( accepts 'left' or 'right' )
* @param bool $meta Ignore theme doing it wrong.
*
* @staticvar array $title_cache
*
* @since 2.2.2
* @return string The title
*/
public function title_from_cache($title = '', $sep = '', $seplocation = '', $meta = false)
{
/**
* Cache the inputs, for when the title is doing it right.
* Use those values to fetch the cached title.
*
* @since 2.4.0
*/
static $setup_cache = null;
static $title_param_cache = null;
static $sep_param_cache = null;
static $seplocation_param_cache = null;
if (!isset($setup_cache)) {
if (doing_filter('pre_get_document_title') || doing_filter('wp_title')) {
$title_param_cache = $title;
$sep_param_cache = $sep;
$seplocation_param_cache = $seplocation;
$setup_cache = 'I like turtles.';
}
}
/**
* If the theme is doing it right, override parameters to speed things up.
*
* @since 2.4.0
*/
if (isset($this->title_doing_it_wrong) && false === $this->title_doing_it_wrong) {
$title = $title_param_cache;
$sep = $sep_param_cache;
$seplocation = $seplocation_param_cache;
$meta = false;
}
static $title_cache = array();
if (isset($title_cache[$title][$sep][$seplocation][$meta])) {
return $title_cache[$title][$sep][$seplocation][$meta];
}
return $title_cache[$title][$sep][$seplocation][$meta] = $this->title($title, $sep, $seplocation, array('meta' => $meta));
}
示例13: rcl_get_link_group_tag
function rcl_get_link_group_tag($content)
{
global $post, $user_ID, $rcl_group;
if ($post->post_type != 'post-group') {
return $content;
}
$group_data = get_the_terms($post->ID, 'groups');
foreach ((array) $group_data as $data) {
if ($data->parent == 0) {
$group_id = $data->term_id;
} else {
$tag = $data;
}
}
if (!$tag) {
return $content;
}
if (doing_filter('the_excerpt')) {
if (!$rcl_group) {
$rcl_group = rcl_get_group($group_id);
}
if ($rcl_group->group_status == 'closed') {
if ($rcl_group->admin_id != $user_ID) {
$user_status = rcl_get_group_user_status($user_ID, $rcl_group->term_id);
if (!$user_status) {
$content = rcl_close_group_post_content();
}
}
}
}
$cat = '<p><i class="fa fa-folder"></i>' . __('Category in the group', 'wp-recall') . ': <a href="' . get_term_link((int) $group_id, 'groups') . '?group-tag=' . $tag->slug . '">' . $tag->name . '</a></p>';
return $cat . $content;
}
示例14: __call
function __call($method, $args)
{
$params = array_shift($args);
$inner_content = array_shift($args);
$parts = explode('____', $method);
$shortcode = array_shift($parts);
if (doing_filter('the_content')) {
return $this->replace_with_placeholder($shortcode, $params, $inner_content);
} else {
$callback = $this->_shortcodes[$shortcode];
return call_user_func($callback, $params, $inner_content);
}
}
示例15: restrict_content
/**
* Restrict (post) content based on content restriction rules
*
* @since 1.0.0
* @param string $content The content
* @return string
*/
public function restrict_content($content)
{
// Check if content is restricted - and this function is not being recursively called
// from `get_the_excerpt`, which internally applies `the_content` to the excerpt, which
// then calls this function, ... until the stack is full and I want to go home and not
// deal with this anymore...
if (wc_memberships_is_post_content_restricted() && !doing_filter('get_the_excerpt')) {
global $post;
// Check if user has access to restricted content
if (!current_user_can('wc_memberships_view_restricted_post_content', $post->ID)) {
// User does not have access, filter the content
$content = '';
if (!in_array($post->ID, $this->content_restriction_applied)) {
if ('yes' == get_option('wc_memberships_show_excerpts')) {
$content = get_the_excerpt();
}
$content .= '<div class="woocommerce"><div class="woocommerce-info wc-memberships-restriction-message wc-memberships-message wc-memberships-content-restricted-message">' . wc_memberships()->frontend->get_content_restricted_message($post->ID) . '</div></div>';
}
} else {
if (!current_user_can('wc_memberships_view_delayed_post_content', $post->ID)) {
// User does not have access, filter the content
$content = '';
if (!in_array($post->ID, $this->content_restriction_applied)) {
if ('yes' == get_option('wc_memberships_show_excerpts')) {
$content = get_the_excerpt();
}
$content .= '<div class="woocommerce"><div class="woocommerce-info wc-memberships-restriction-message wc-memberships-content-delayed-message">' . wc_memberships()->frontend->get_content_delayed_message(get_current_user_id(), $post->ID) . '</div></div>';
}
}
}
// Indicates that the content for this post has already been filtered
$this->content_restriction_applied[] = $post->ID;
}
return $content;
}