Solved

Wordpress Filters

Posted on 2014-09-13
8
279 Views
Last Modified: 2014-09-13
I have attempted to ask this question before but I don't think I was being clear enough and I also know just enough to make me dangerous!
I want to create a Wordpress Filter to change a line of code within a Core Function in Wordpress / Woocommerce.

The Worpress / WooCommerce function is as follows:
	public function edit_columns( $existing_columns ) {
		$columns = array();

		$columns['cb']               = '<input type="checkbox" />';
		$columns['order_status']     = '<span class="status_head tips" data-tip="' . esc_attr__( 'Status', 'woocommerce' ) . '">' . esc_attr__( 'Status', 'woocommerce' ) . '</span>';
		$columns['order_title']      = __( 'Order', 'woocommerce' );
		$columns['order_items']      = __( 'Purchased', 'woocommerce' );
		$columns['shipping_address'] = __( 'Ship to', 'woocommerce' );

		return $columns;
	}

Open in new window

I have followed the directions offered by Wordpress but it is not working for me.  I want to Replace The Word "Order" with the words "My Number"  on line: 6

Here is what I have that is not working. (This filter is my Custon-Functions.php file)
function filterAdminLabels( $existing_columns ) {
	$labels = array('Order');
	$existing_columns = str_ireplace($labels, 'My Number', $existing_columns);	
}
add_filter ( 'edit_columns', 'filterAdminLabels', 2 );

Open in new window

0
Comment
Question by:rgranlund
  • 4
  • 3
8 Comments
 
LVL 15

Expert Comment

by:eemit
ID: 40321146
Add this line:
return $existing_columns;

Open in new window

after the line:
$existing_columns = str_ireplace($labels, 'My Number', $existing_columns);

Open in new window

0
 
LVL 7

Author Comment

by:rgranlund
ID: 40321163
I tried that and nothing Changed.  However, I did discover I was trying to hook into the wrong function.  Here is the correct function and I want to replace the word Order with My Policy:
Wordpress Function
	public function shop_order_columns( $existing_columns ) {
		$columns                     = array();
		$columns['cb']               = '<input type="checkbox" />';
		$columns['order_status']     = '<span class="status_head tips" data-tip="' . esc_attr__( 'Status', 'woocommerce' ) . '">' . esc_attr__( 'Status', 'woocommerce' ) . '</span>';
		$columns['order_title']      = __( 'Order', 'woocommerce' );
		$columns['order_items']      = __( 'Purchased', 'woocommerce' );
		$columns['shipping_address'] = __( 'Ship to', 'woocommerce' );
		$columns['customer_message'] = '<span class="notes_head tips" data-tip="' . esc_attr__( 'Customer Message', 'woocommerce' ) . '">' . esc_attr__( 'Customer Message', 'woocommerce' ) . '</span>';
		$columns['order_notes']      = '<span class="order-notes_head tips" data-tip="' . esc_attr__( 'Order Notes', 'woocommerce' ) . '">' . esc_attr__( 'Order Notes', 'woocommerce' ) . '</span>';
		$columns['order_date']       = __( 'Date', 'woocommerce' );
		$columns['order_total']      = __( 'Total', 'woocommerce' );
		$columns['order_actions']    = __( 'Actions', 'woocommerce' );

		return $columns;
	}

Open in new window

My Function:
function filterAdminLabels( $existing_columns ) {
	$labels = array('Order');
	$existing_columns = str_ireplace($labels, 'Policy Number', $existing_columns);	
	return $existing_columns;
}
add_filter ( 'shop_order_columns', 'filterAdminLabels', 2 );

Open in new window


I followed the instructions but nothing happens.  What do you think I am doing wrong?
0
 
LVL 15

Expert Comment

by:eemit
ID: 40321177
I think you should use the filter: 'manage_edit-shop_order_columns'
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 7

Author Comment

by:rgranlund
ID: 40321179
I don't understand, please explain
0
 
LVL 15

Expert Comment

by:eemit
ID: 40321185
add_filter ( 'manage_edit-shop_order_columns', 'filterAdminLabels', 2 );
0
 
LVL 15

Accepted Solution

by:
eemit earned 500 total points
ID: 40321208
Try this:
add_filter ( 'manage_edit-shop_order_columns', 'filterAdminLabels', 11 );
function filterAdminLabels( $existing_columns ) {
	$existing_columns['order_title'] = __( 'Policy Number', 'woocommerce' );

	return $existing_columns;
}

Open in new window

0
 
LVL 7

Author Closing Comment

by:rgranlund
ID: 40321222
WOW!  Thanks for pointing out the filter. Very powerful.  Thanks so much for taking the time to answer that question.  i have been working on this issue for almost 6 hours!
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
WordPress can be pretty daunting, especially for a beginner, so I thought it might be a good idea to write an article to show how easy it is to get started in WordPress and to design a custom theme.  The first step is to check with your hosting comp…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now